自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

杨鑫newlife的专栏

算法就是我的灵魂

  • 博客(44)
  • 资源 (187)
  • 论坛 (1)
  • 收藏
  • 关注

原创 Python实现经典01背包问题:一堆宝石,一共有n个。 只有一个背包,背包的容量为C。n个宝石排成一排并编上号: 0...

题目:一堆宝石,一共有n个。 只有一个背包,背包的容量为C。n个宝石排成一排并编上号: 0,1,2,…,n-1。第i个宝石体积和价值分别V[i]和W[i] 。背包容量为C,要装哪些宝石装的价值最高;# -*- coding:utf-8 -*-__author__ = 'yangxin_ryan'"""Solutions:经典的01背包问题,选择添加与不添加;那么有三种判断条件:1.循环走完,最后一个应该是0;2.当前背包的容量小于待加入的体积时,i+1,背包容量不变;3.当前.

2020-05-31 00:52:26 385

原创 源码分析 --- Spark如何确定Splits和分区数

一、结论: 默认情况下Splits和Task和Partition数是一一对应的,数量是一样的; 1.如果在没有指定分区数的时候,默认的是sc.defaultMinPartitions=min(sc.defaultParallelism,2)。也就是sc.defaultMinPartitions只有两个值1和2,当sc.defaultParallelism>1时值为2,当sc.defaultParallelism=1时,值为1; 2.如果是读取HDFS的文件的话,分区是当我们计

2020-05-29 16:27:33 370

原创 源码分析 --- MapReduce如何确定任务的SplitSize、Splits、Map、Reduce

一、结论: 1.SplitsSize = Math.max(minSize, Math.min(maxSize, blockSize)) = 默认的Maxth.Max(minSize=1, Math.min(maxSize=Long的最大值,64或者128或者256M)) = 64M/128M/256M; 参数一:其中 minSize:long minSize = Math.max(getFormatMinSplitSize(), getMinSplitSize(...

2020-05-28 23:43:59 174

原创 LeetCode --- 78. Subsets 解题报告

Given a set ofdistinctintegers,nums, return all possible subsets (the power set).Note:The solution set must not contain duplicate subsets.Example:Input: nums = [1,2,3]Output:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []]...

2020-05-28 17:25:37 109

原创 实现计算两个相同长度的有序数组的中位数

给定两个有序数组arr1和arr2,两个数组长度都为N,求两个数组中所有数的上中位数。例如:arr1 = {1,2,3,4};arr2 = {3,4,5,6};一共8个数则上中位数是第4个数,所以返回3。arr1 = {0,1,2};arr2 = {3,4,5};一共6个数则上中位数是第3个数,所以返回2。要求:时间复杂度O(logN)# -*- coding:utf-8 -*-__author__ = 'yangxin_ryan'"""Solutions:此题

2020-05-28 16:35:52 348

原创 Python利用数组模拟栈实现括号匹配算法

# -*- coding:utf-8 -*-__author__ = 'yangxin_ryan'"""Solutions:实现括号匹配的办法如下:我们先记录一组括号的模板如代码中mould(这样反着记录原因是后续用输入的去比较时,好判断),然后将括号的左和右分成两组List,我们将传进来的参数一次遍历匹配左边括号的话,就进行压栈,右边括号的话并且用dict结构存储的获取当前元素与栈中存储的是否一致,如果不一致则返回False;"""class BracketsMatch(objec.

2020-05-26 23:14:16 172

原创 LeetCode --- 693. Binary Number with Alternating Bits 解题报告

Given a positive integer, check whether it has alternating bits: namely, if two adjacent bits will always have different values.Example 1:Input: 5Output: TrueExplanation:The binary representation of 5 is: 101Example 2:Input: 7Output: Fals.

2020-05-26 17:43:06 107 1

原创 源码分析 --- Java中为什么重写equals()方法的时候一定要重写hashCode()方法?

小朋友,是否有很多问号??? 零、读这里这里之前,我一定要说的一个观点。重写equals()方法一定要重写hashCode()方法吗? 我的回答是不一定,也是比较片面的,当我们需求只用到了equals方法去判断对象是否相同的时候,则就没必要考虑hashCode()是否一致; 因此这里的一定?或者不一定?完全看需求,但是整体上为了代码专业度、健壮性、balabal来说建议重写; 与此同时Java的源码中有相应的结论,要hashCode与equals..

2020-05-26 01:10:09 202

原创 源码分析 --- HDFS 数据读、写操作流程和用户指令交互

一、这里首先介绍源码中的四个主要关键类(主要用于用户的hdfs dfs...命令交互实现、数据的读取、数据的写入) DFSClient: HDFS 客户端(如下是源码DFSClient类中的客户端说明信息,这里简述了使用ClientProtocol去访问NameNode线程以及连接DataNode数据目录去读写数据块); DFSClient can connect to a Hadoop Filesystem and perform..

2020-05-25 17:58:13 248

原创 LeetCode --- 690. Employee Importance 解题报告

You are given a data structure of employee information, which includes the employee'sunique id, hisimportance valueand hisdirectsubordinates' id.For example, employee 1 is the leader of employee 2, and employee 2 is the leader of employee 3. They ha...

2020-05-25 14:29:43 126

原创 Java实现数据结构数组的添加add、插入insert、删除delete操作

package com1;/** * @author yangxin_ryan * Java使用数组实现数组的 * add(ele) * insert(ele, index) * delete(index) * 三个函数功能 */public class Demo1 { private Object[] elements; public Demo1(){ elements = new Object[0]; } /** *.

2020-05-22 21:58:05 1079

原创 JVM学习笔记 --- 堆内存、垃圾回收算法、垃圾回收器

一、Java堆内存 这里共介绍四种垃圾回收算法,其中目前较通用使用的是分代回收算法,根据不同的分代对象存活数量,以及空间资源使用不同的算法来回收; JDK 1.7 以及之前为永久代(和元空间为一个东西) JDK 1.8 以及之后为元空间(和永久代为一个东西) JDK 1.7版本对内存如下: JDK1.8版本堆内存如下: 新生代 Yong 新生代又分为 Eden...

2020-05-22 17:20:27 162

原创 LeetCode --- 687. Longest Univalue Path 解题报告

Given a binary tree, find the length of the longest path where each node in the path has the same value. This path may or may not pass through the root.The length of path between two nodes is represented by the number of edges between them.Example 1.

2020-05-22 11:34:47 131

原创 LeetCode --- 686. Repeated String Match 解题报告

Given two strings A and B, find the minimum number of times A has to be repeated such that B is a substring of it. If no such solution, return -1.For example, with A = "abcd" and B = "cdabcdab".Return 3, because by repeating A three times (“abcdabcdabc

2020-05-21 11:18:32 105

原创 Java中静态变量Static的加载和Static垃圾回收

Java中类的生命周期为: 1.加载 2.连接 2.1验证 2.2准备 2.3解析 3.初始化 类初始化的顺序 3.1静态变量、静态代码块初始化 3.2构造函数 3.3自定义构造函数 4.使用 4.1对象初始化 ..

2020-05-21 01:18:13 2224 1

原创 源码分析 --- Kafka的幂等性机制和幂等性过程源码分析

一、什么是消息队列的幂等性? Kafka这里的幂等性指的是一般Producer发送了多少消息,consumer就消费了多少消息,保证了消费的唯一性,也是符合exactly-once语义的操作; 不会发生消息丢失或者消息重复的情况; 二、首先看一下Kafka的消息传输中的三种语义: 消息最多发送一次(At-Most-Once) 消息已经发出,不管收没收到,会存在消息丢失的情况; 通过配置实现 ..

2020-05-20 17:55:54 262

原创 LeetCode --- 682. Baseball Game 解题报告

You're now a baseball game point recorder.Given a list of strings, each string can be one of the 4 following types:Integer(one round's score): Directly represents the number of points you get in this round. "+"(one round's score): Represents that th..

2020-05-20 14:56:19 112 1

原创 源码分析 --- 谈谈Java中的线程安全集合

首先集合中线程安全的有如下: Vector Stack HashTable Enumeration 一、为什么Vector线程安全? Vector的所有操作都被同步了,既然被同步了,多线程就不可能同时访问Vector中的数据,只能一个一个地方问,所以不会出现数据混乱的情况,线程是安全的。 下图是Vector源码的部分,其中Vector is synchronized,表示Vector的操作是同步的; ...

2020-05-20 10:39:03 147

原创 Java的集合框架思维导图

2020-05-20 00:53:52 196

原创 Hive-SQL 实现计算近31天/一个月的每天的Top10地区

问题:有一张Hive表tb_order, 其中(order_id 订单ID, city 城市名称, dt日期分区例如2020-05-01)三个可用字段。然后我们要统计一下近31天的Top10地区的订单。简单实现如下:select dt, city from ( select city, count(order_id) as order_nums from tb_order where dt >= "2020-05-01" and dt < "2020-06-01" gr

2020-05-20 00:50:55 1903

原创 Scala学习笔记 --- Private和Private[this]以及Protected、Protected[this]

package com1/** * @author yangxin_ryan */class Test56 { private[this] val private_val1:Int = 1 private val private_val2: Int = 2 def method1(param: Test56) = param.private_val1 def method2(param: Test56) = param.private_val2} .

2020-05-19 15:22:53 258

原创 LeetCode --- 680. Valid Palindrome II 解题报告

Given a non-empty strings, you may deleteat mostone character. Judge whether you can make it a palindrome.Example 1:Input: "aba"Output: TrueExample 2:Input: "abca"Output: TrueExplanation: You could delete the character 'c'.Note:...

2020-05-19 10:59:13 101

原创 Scala学习笔记 --- getter与setter方法

定义不带有priavte的var field, 此时scala生成的面向JVM的类时,会定义为private 的name字段,并提供public的getter和setter方法 如果使用private修饰field,则生成的getter和setter也是private 如果定义val field,则只会生成getter方法 如果不希望生成setter和getter方法,则将field声明为private[this] 调用getter和setter方法,分别叫做fi..

2020-05-18 17:12:37 162

原创 LeetCode --- 674. Longest Continuous Increasing Subsequence 解题报告

Given an unsorted array of integers, find the length of longestcontinuousincreasing subsequence (subarray).Example 1:Input: [1,3,5,4,7]Output: 3Explanation: The longest continuous increasing subsequence is [1,3,5], its length is 3. Even though [1..

2020-05-18 15:55:44 125

原创 LeetCode --- 671. Second Minimum Node In a Binary Tree 解题报告

Given a non-empty special binary tree consisting of nodes with the non-negative value, where each node in this tree has exactlytwoorzerosub-node. If the node has two sub-nodes, then this node's value is the smaller value among its two sub-nodes. More f...

2020-05-15 14:07:33 116

原创 CDH修改HDFS以及存储的副本数量由备份3到备份2

首先第一个问题,我们修改CDH的HDFS副本设置后,历史的备份3数据是否会删除,还是从设置后才开始遵守备份2的? 都需要操作哪些?好的,我们带着问题来具体操作一下;1.首先在CDH,HDFS中配置找到复制因子(dfs.replication),如下:将原有dfs.replication的值3 改为 2。2.然后所有服务列表会出现如下显示:3.我们只需要点击随意的一个flume或者hdfs或者其他服务的重启(包含配置分发)均可。4.等待成功重启后,我们就可以慢慢那么的看到HD.

2020-05-15 11:23:08 2049 1

原创 Scala实现移除数组中第一个负数之后的所有负数

package com1import scala.collection.mutable.ArrayBuffer/** * @author yangxin_ryan * Scala实现移除数组中第一个负数之后的所有负数 * 版本一 */object Test51 { def main(args: Array[String]): Unit = { val arrBuffer = ArrayBuffer[Int]() arrBuffer += (1, 2.

2020-05-14 19:38:12 148

原创 LeetCode --- 669. Trim a Binary Search Tree 解题报告

Given a binary search tree and the lowest and highest boundaries asLandR, trim the tree so that all its elements lies in[L, R](R >= L). You might need to change the root of the tree, so the result should return the new root of the trimmed binary se...

2020-05-14 11:14:22 151 2

原创 Scala学习笔记 --- 数组操作Array、ArrayBuffer以及遍历数组

一、Array在Scala中,Array代表的含义与Java中类似,也是长度不可改变的数组。此外,由于Scala与Java都是运行在JVM中,双方可以互相调用,因此Scala数组的底层实际上是Java的数组。例如字符串数组在底层就是Java的String[],整个数组在底层就是Java的Int[];数组初始化后,长度就固定下来了,而且元素的全部根据其类型初始化;也可以直接使用Array()创建数组,元素类型自动推断;val a = new Array[Int](10)val.

2020-05-13 20:49:58 328

原创 LeetCode --- 665. Non-decreasing Array 解题报告

Given an arraynumswithnintegers, your task is to check if it could become non-decreasing by modifyingat most1element.We define an array is non-decreasing ifnums[i] <= nums[i + 1]holds for everyi(0-based) such that(0<= i <= n - 2)....

2020-05-13 11:44:31 112

原创 Scala学习笔记 --- 如何使用变长参数

一、实现函数定义的时候,使用 * 表示参数可变如下例子:/** * 实现变长参数累加函数,for循环版本 * @param nums * @return */ def sum(nums: Int*):Int = { var res = 0 for (num <- nums) res += num res }我们这里定义def sum(nums: Int*):Int =这里的

2020-05-12 21:01:33 140

原创 Scala实现九九乘法表

package com1/** * @author yangxin_ryan * 实现九九乘法表 */object MultiplicationTable { def main(args: Array[String]): Unit = { for (i <- 1 to 9) { for (j <- i to 9) { print(i + "*" + j + " = " + i * j + " ") } .

2020-05-12 19:01:22 549

原创 LeetCode --- 661. Image Smoother 解题报告

Given a 2D integer matrix M representing the gray scale of an image, you need to design a smoother to make the gray scale of each cell becomes the average gray scale (rounding down) of all the 8 surrounding cells and itself. If a cell has less than 8 surro

2020-05-12 11:24:49 123

原创 LeetCode --- 657. Robot Return to Origin 解题报告

There is a robot starting at position (0, 0), the origin, on a 2D plane. Given a sequence of its moves, judge if this robotends up at (0, 0)after it completes its moves.The move sequence is represented by a string, and the character moves[i] represe...

2020-05-11 10:55:33 135

原创 数据仓库Build The Data Warehouse(William H.Inmon)学习笔记 --- 第一章、决策支持系统的发展

20世纪60年代中期,主文件和磁带存储带来的问题 更新数据时需要保持数据的一致性; 程序维护的复杂性; 开发新程序的复杂性; 支持所有主文件需要增加大量硬件; 20世纪70年代,在线事务处理(Online Transaction Processing, OLTP)使得访问数据可以更快地进行; 自然演化式体系结构的问题 数据可信性; 数据无时间基准; 数据..

2020-05-11 01:41:51 386

原创 LeetCode --- 653. Two Sum IV - Input is a BST 解题报告

Given a Binary Search Tree and a target number, return true if there exist two elements in the BST such that their sum is equal to the given target.Example 1:Input: 5 / \ 3 6 / \ \2 4 7Target = 9Output: TrueExample 2:I.

2020-05-09 10:47:16 143

原创 LeetCode --- 645. Set Mismatch 解题报告

The setSoriginally contains numbers from 1 ton. But unfortunately, due to the data error, one of the numbers in the set got duplicated toanothernumber in the set, which results in repetition of o...

2020-05-08 10:56:15 107

原创 LeetCode --- 643. Maximum Average Subarray I 解题报告

Given an array consisting ofnintegers, find the contiguous subarray of given lengthkthat has the maximum average value. And you need to output the maximum average value.Example 1:Input: [1,12...

2020-05-07 11:45:43 110

原创 大数据技术生态体系图(基础版本)

2020-05-07 01:14:01 554

原创 Prometheus普罗米修斯调研笔记

项目简介: Prometheus是最初在SoundCloud上构建的开源系统监控和警报工具; 开源自2012年,许多公司和组织都采用了Prometheus,都拥有非常活跃的开发人员和用户社区; 现在它是一个独立的开源项目,2016年Prometheus在2016年加入了Cloud Native Computing Foundation,是继Kub...

2020-05-07 00:44:36 1029

Python3实现KNN的三个例子(包含数据集),水果分类,识别手写数字,找相似的朋友

Python3实现KNN的三个例子(包含数据集),水果分类,识别手写数字,找相似的朋友

2019-03-06

demjson-2.2.4

demjson-2.2.4很好用,适合于python操作json使用。

2016-08-02

软件开发文档模板[全套]

软件开发文档模板[全套]

2017-04-07

ElasticSearch中文文档(新版)

ElasticSearch中文文档(新版)

2017-06-23

_bz2.cpython-36m-x86_64-linux-gnu.so

_bz2.cpython-36m-x86_64-linux-gnu.so,

2019-11-07

AzkabanAPI接口文档汇总

AzkabanAPI接口文档汇总

2018-09-26

ACM学习路线导图

ACM学习路线导图

2018-11-14

数据仓库规范设计.pdf

数据仓库规范设计.pdf

2019-11-04

Confluence-5.6.6-language-pack-zh_CN.jar

Confluence-5.6.6-language-pack-zh_CN.jar,防止confluence乱码的jar包

2018-09-30

KNN实现水果分类的数据集

KNN实现水果分类的数据集KNN实现水果分类的数据集,KNN实现水果分类的数据集,KNN实现水果分类的数据集

2019-10-17

cyrus-sasl-plain-2.1.26-20

cyrus-sasl-plain-2.1.26-20,用于安装sasl。

2016-10-08

哈希算法C语言实现

哈希算法C语言实现

2016-02-17

机器学习算法-神经网络LSTM

机器学习算法-神经网络.pptx

2019-09-21

easygui-0.96.tar.gz

easygui-0.96.tar.gz 在linux下的使用,很好用,有需要的自己去下载吧。

2016-06-09

pandas-0.19.2.tar.gz

pandas-0.19.2.tar.gz 用于开发操作数据分析等

2017-02-21

openpyxl-openpyx

openpyxl 挺好用的一个lib包,需要自己进行编译。

2016-09-09

jsp实现购物车

这个使用jsp实现的购物车代码,和我上次上传的servlet实现的购物车正好行对应,适合新手学习。

2015-03-25

C语言实现prim算法

C语言实现prim算法

2015-08-12

Griffin数据质量管理技术调研.pdf

Griffin数据质量管理技术调研.pdf

2019-12-09

Azkaban元数据库分析

Azkaban元数据库分析,

2018-09-19

Presto资源管理Rest API 文档

Presto资源管理Rest API 文档

2018-12-01

easygui-docs-0.96.zip

easygui-docs-0.96.zip,在windows下的文档说明,很好用!

2016-06-09

java连接DB2所有jar包

java, python等通过jdbc连接DB2数据库的连接jar文件集合。

2017-02-14

C语言实现银行模拟-数据结构应用

C语言实现银行模拟-数据结构应用,很好用,有需要的来下载。

2016-03-28

基础算法 - 动态规划-2019-08-01.pptx

基础算法 - 动态规划-2019-08-01.pptx,基础算法 - 动态规划-2019-08-01.pptx,基础算法 - 动态规划-2019-08-01.pptx,基础算法 - 动态规划-2019-08-01.pptx

2019-10-17

C语言实现链式队列

链式队列

2015-09-08

C语言实现循环队列

C语言实现循环队列

2015-09-08

中文停用词表

中文停用词表,很好用,找了很久才找到,有需要的去下载就好了。

2016-03-28

完整的VISIO教程.ppt

完整的VISIO教程.ppt

2017-03-23

实时指标计算引擎-Spark-Part_1_杨鑫_2019-12-19.pptx

实时指标计算引擎-Spark-Part_1_杨鑫

2019-12-19

开源SuperSet、MetaBD、Redash简单对比

开源SuperSet、MetaBD、Redash简单对比

2020-07-22

servlet-api.jar && jsp-api.jar

servlet-api.jar && jsp-api.jar

2015-03-13

Python对Excel操作详解

Python对Excel操作详解,很好用,里面有xlrd, xlwt怎么使用。

2016-09-13

C语言实现串存储

C语言实现串存储

2015-09-08

Apache Kylin竞品分析.pdf

Apache Kylin竞品分析.pdf

2019-11-18

宽依赖与窄依赖

宽依赖与窄依赖,很好用的PPT,对于spreak的宽依赖与窄依赖很清楚,分享给有用的朋友。

2016-05-06

英文停用词表Stop

英文停用词表Stop,很好用,有需要的去下载

2016-03-29

Hive编程指南

Hive编程指南 pdf,内容很不错适合入门hive编程的朋友。

2017-09-13

mongodb-linux-x86_64-3.4.6

mongodb-linux-x86_64-3.4.6,很好用的客户端,请下载使用。

2017-10-17

串的块链存储表示

串的块链存储表示

2015-09-08

杨鑫newlfe的留言板

发表于 2020-01-02 最后回复 2020-04-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除