- 博客(55)
- 收藏
- 关注
原创 剑指offer中二叉树和为某一值得路径
递归简直是为树而生的,关于树的问题优先考虑递归;from 牛客import java.util.ArrayList;/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { ...
2018-12-19 10:16:13
166
原创 剑指offer二叉树的深度
/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}*/import java.lang.Math;public cl...
2018-12-17 16:04:42
201
原创 剑指offer数组中只出现一次的数字
链接:https://www.nowcoder.com/questionTerminal/e02fdb54d7524710a7d664d082bb7811来源:牛客网题目中,数组中的数字是除了特殊的两个外,都出现了两次,因此,异或法是一个很好的选择;所谓异或: 两个相同数字异或=0,一个数和0异或还是它...
2018-12-17 16:01:07
153
原创 剑指offer丑数
看解析不如看代码,比如有三个聚宝盆,每个聚宝盆里有一个种子,而第一个盆里的东西能变两倍,第二个盆里的变3倍,第三个变5倍,然后你拿个麻袋,你麻袋一开始还是有一块钱,每个盆能倒出来的东西用m2,m3,m5表示,每次找出m2,m3,m5中最小的,给它种子加一,不然亏啊,然后你麻袋里装的就是一堆堆的钱;这代码是牛客网白嫖的;import java.util.ArrayList;public...
2018-12-10 21:37:14
137
原创 剑指offer栈的压入和弹出序列
这要设置一个辅助栈,假如有push序列和要求弹出的pop序列,依次把push序列中的元素压到辅助栈中,在压入的同时,如果辅助栈的栈顶元素和pop序列的元素相同,那么弹出辅助栈的栈顶和pop序列栈顶,或者设个pop序列的index(这样index后移一位就可以了)import java.util.ArrayList;import java.util.Stack;public class ...
2018-12-07 23:31:39
188
原创 MapReduce java api来写WordCount
import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.mapreduce.Mapper;import org.apache.hadoop.mapreduce.Reducer;import org.apache.hadoop.mapreduce.Job;import org.apache.hadoop.ma...
2018-11-14 14:40:44
214
原创 hdfs api读写文写件个人练习
看下hdfs的读写原理,主要是打开FileSystem,获得InputStream or OutputStream;那么主要用到的FileSystem类是一个实现了文件系统的抽象类,继承来自org.apache.hadoop.conf.Configured,并且实现了Close able接口,可以适用于如本地文件系统file://,ftp,hdfs等多种文件系统,所以呢若是自己要实现一个系...
2018-11-11 19:18:32
825
转载 大数据平台常见面试题
https://blog.csdn.net/albg_boy/article/details/78424509第1部分 申请ID.. 3第2部分 部署kafka. 42.1 部署86节点kafka. 42.2 配置86节点zookeeper. 52.3 部署87节点kafka. 52.4 ...
2018-11-07 16:04:03
3981
原创 JAVA多线程小记
以下摘自实战java高并发,后续再补充吧和操作系统中线程的状态略有不同,java中线程所有的状态是在Thread的State枚举中有定义的; public enum State { /** * Thread state for a thread which has not yet started. */ NEW,...
2018-11-06 21:13:23
194
原创 CentOS使用Docker注意事项
Ubuntu/Debian上可以使用UnionFS,如aufs或者overlay2,而centos和rhel的内核中没有相关的驱动;这类系统一般使用device mapper驱动利用LVM的一些机制来模拟分层存储;这个做法性能差稳定性也差,配置也复杂,Docker在centos上默认为devicemapper驱动,而且为了简化配置,这个东西是跑在一个稀疏文件模拟的块设备上,也被称为loop-l...
2018-11-05 19:02:43
178
原创 Docker镜像构建上下文
来自docker技术入门与实践啦Docker不是虚拟机,容器就是进程;这就是说容器中的应用都应该以前台执行,而不是虚拟机里面那样,用systemd去启动后台服务,容器中没有后台服务的概念;就是说如果用shell格式命令的话会将命令包装为sh -c的参数进行执行,例如CMD service nginx start这会导致容器执行后立即退出,而且容器内也不能用systemctl这样的命令...
2018-11-05 16:44:47
555
原创 剑指offer包含min函数的栈
这题的意思是要弄个辅助栈;因为它需要的栈结构是能够在o(1)时间返回最小值的,即若我们定义的栈类为stack,那么它又一个min方法,stack.min()返回最小值;那么我们就要个辅助栈,当原始的栈添加节点时,如果新添加的节点小于辅助栈栈顶的节点时,就同时往辅助栈里添加节点,如果节点的值大于辅助站顶点的值,就继续添加最小值min(辅助栈栈顶元素);这样的话辅助栈的栈顶始终就是最小值min;需...
2018-11-01 21:07:33
126
原创 剑指offer替换空格
python的简单,甚至都没理解题意就稀里糊涂做出来了# -*- coding:utf-8 -*-class Solution: # s 源字符串 def replaceSpace(self, s): # write code here res = '' for i in s: if i == ' ':...
2018-10-30 13:25:45
91
原创 剑指offer二维数组中的查找
从第一行最右边开始找,如果想要更大的数,往下找;想要更小的数,往左;如果超出范围,说明没有;public class Solution { public boolean Find(int target, int [][] array) { int rows = array.length; int cols = array[0].length; ...
2018-10-30 12:53:15
83
原创 Synchronized用法
1.指定加锁的对象,进入同步代码前获得给定实例对象的锁;对于这段代码,我们要注意的是,如果加锁的是i而不是实例对象instance,那么会得到不一样的数,因为这段程序并非真正的线程安全,那是因为Integer.valueOf本质上是工厂方法,倾向于返回一个代表指定数值的Integer实例,i++本质是创建一个新的Integer对象,并将它的引用赋值给i,因此,多个线程间并不一定能够看到同一个i...
2018-10-28 20:12:30
307
原创 牛客网错题2
####################################################################Webservice是跨平台,跨语言的远程调用技术;它的通信机制实质就是xml数据交换;它采用了soap协议(简单对象协议)进行通信###########################################################...
2018-10-23 21:51:39
284
转载 用java操作Hadoop,包括导入包(无须编译源码)
https://blog.csdn.net/u012453843/article/details/52487499
2018-10-22 21:57:16
3490
原创 java的异常类和内存小解
如图所示: 关于方法区方法区在JVM中也是一个非常重要的区域,它与堆一样,是被 线程共享 的区域。 在方法区中,存储了每个类的信息(包括类的名称、方法信息、字段信息)、静态变量、常量以及编译器编译后的代码等。大多数 JVM 将内存区域划分为 Method Area(Non-Heap)(方法区) ,Heap(堆) , Program Counter Register(程序计数器)...
2018-10-21 21:28:27
173
原创 java的抽象类和接口
包含抽象方法的类称为抽象类,但并不意味着抽象类中只能有抽象方法,它和普通类一样,同样可以拥有成员变量和普通的成员方法。注意,抽象类和普通类的主要有三点区别:1)抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public。2)抽象类不能用来创建对象;3)如果一个类继承于一个抽象类,则子类必须实现父类的...
2018-10-21 21:20:52
66
原创 牛客网java错题
###################################类的初始化过程也就是方法的执行过程:父类静态域->子类静态域->父类成员初始化->父类构造块->父类构造方法->子类成员初始化->子类构造块->子类构造方法;###################################关于java的表达式自动转型:Java表...
2018-10-21 21:20:32
354
1
原创 牛客网刷sql下半部分
[编程题]汇总各个部门当前员工的title类型的分配数目https://www.nowcoder.com/practice/4bcb6a7d3e39423291d2f7bdbbff87f8?tpId=82&tqId=29778&tPage=2&rp=&ru=%2Fta%2Fsql&qru=%2Fta%2Fsql%2Fquestion-ranking...
2018-10-21 20:34:46
190
转载 HttpServletRequest 和 HttpServletResponse
首先,Java源程序的后缀名为“.java”经过编译之后生成的字节码文件后缀名为“.class”这是最基本的;原文链接https://www.cnblogs.com/lxn0216/p/8876752.html用HttpServletRequest,现在整理如下,以便以后查阅请求与响应相关的类和接口非常多,下表是主要的与请求和接口相关的类以及接口。主要的与请求和接口相关的类及...
2018-10-21 20:32:46
94
原创 牛客网速刷sql 3天计划版
INNER JOIN 两边表同时有对应的数据,即任何一边缺失数据就不显示。LEFT JOIN 会读取左边数据表的全部数据,即便右边表无对应数据。RIGHT JOIN 会读取右边数据表的全部数据,即便左边表无对应数据。查找最晚入职员工的所有信息https://www.nowcoder.com/practice/218ae58dfdcd4af195fff264e062138f?tpId=82&...
2018-10-08 23:56:01
321
原创 剑指offer顺时针打印矩阵
这题除了循环条件难想,逻辑复杂,调试麻烦之外还是不错的;按照剑指offer的思路,循环打印都ok,唯独那个columns>start*2我是想不到的-0-,先上java代码:import java.util.ArrayList;public class Solution { ArrayList<Integer> list = new ArrayList<&g...
2018-10-08 19:16:08
85
原创 剑指offer二叉树的镜像
递归就好,比如root节点,交换左右子树,然后对于左右子树,再各自交换对应的左右子树不过这些代码都是inplace的不要返回状态# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# s...
2018-10-08 11:20:33
87
原创 剑指offer树的子结构
我在写java代码的时候,因为一个小错,查了两个多小时也没查出来,后来硬对比出来的: if(root2 == null){ return true; } if(root1 == null){ return false; }在判断是否是子树(函数isthisSubtree)的时候,r...
2018-10-07 16:53:11
110
原创 剑指offer合并有序链表
这题直接暴力破解的,无非三种情况,1.第一个链表为空第二个非空2.第一个不为空第二个为空3.两个都非空,这种情况随着合并的进行会转化成1,2两种情况的其中一种情况当然还有一种特殊情况,两个链表都为空,返回空就可以了 # -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# s...
2018-10-07 13:02:52
117
原创 剑指offer反转链表
没怎么看懂书上说的3个指针,直接网上找的思路;比如1->2->3->4这个链表,此时pHead指向1,那么:1:用个指针pNext指向2,即pNext = pHead.next(pNext = 2)2: 改下指针2的指针方向,pHead.next = pPre3. 集体右移一位(改变当前元素的指向为preNode,并将preNode和nextNode均向右移动一...
2018-10-06 23:29:17
96
原创 剑指offer数值的整数次方
位运算的结合是这题的一大亮点,随着刷题的增多,一拿到题目首先想到的特殊情况有:1.既然是树的整数次方,很可能又是大数,所幸的是题目说了不要求2.底数如果是负数的,那么返回值的正负会受到幂的奇偶性影响3.幂是负的,返回值就是倒数了,这个情况可以立个flag来解决4.(最重要的情况反而遗漏了),0的0次方没有意义,exponent为0返回1,exponent为1返回本身剑指offe...
2018-10-06 18:00:56
120
原创 爱奇艺19秋招编程题
最少的盒子时间限制:C/C++语言 1000MS;其他语言 3000MS内存限制:C/C++语言 131072KB;其他语言 655360KB题目描述:Bob有N个空盒子,第i个盒子是边长为a[i]的立方体,如果一个盒子的边长严格小于另一个盒子,并且大盒子里面没有其他小盒子,小盒子也没有放入其他大盒子中,那么这个小盒子可以放入大盒子。Bob可以根据条件任意的放盒子,因为他想看见最少数量的盒...
2018-09-28 20:38:23
282
原创 小米的某一编程题
大致意思:有一些集合,合并其中有交集的集合,返回最终集合个数,和最长集合的长度,(考试结束10分钟后)写了个动态规划的算法,不知道能不能ac...def merge(target): if(len(target) == 1): return [target[0]] x = target[0] tmp = merge(target[1:]) ...
2018-09-27 16:15:07
176
原创 剑指offer调整数组顺序
随手写了个快速排序思想的python代码,但是发现并不能保证相对位置一致# -*- coding:utf-8 -*-class Solution: def reOrderArray(array): # write code here left = 0 right = len(array) - 1 while (left...
2018-09-26 21:42:40
260
原创 剑指offer,第一个只出现一次的字符
暴力破解,用python写个字典,然后查一下就好了,需要遍历整个字符串,时间复杂度o(n)# -*- coding:utf-8 -*-class Solution: def FirstNotRepeatingChar(self, s): # write code here dict = {} for i in s: ...
2018-09-26 20:09:44
122
原创 剑指offer二进制中1的个数
以在下的水平,首先想到的是除和取整,如果取整有1就加1,然后就超时了,除的效率要比位运算低很多,面试官会问的哦果然要用博大精深的位运算,用n和1进行与运算,(其实就是比末位),假设取得数是n,那么我们有两个思路,第一个是n右移(比倒数第二位),直到n变为0;第二个思路1左移,第一次左移就是10,其实也是比第二位;两种思路有什么区别呢?第一种会引起死循环,比如int型,第一个数字是符号位,1...
2018-09-26 17:39:13
71
原创 剑指offer斐波那契数列
# -*- coding:utf-8 -*-class Solution: def Fibonacci(self, n): # write code here count = 0 a = 0 b = 1 while count < n: a,b = b,a+b ...
2018-09-25 16:24:46
200
原创 剑指offer旋转数组最小数字
1.首先这题给出的数组原来是一个递增数组,出题人很明显希望我们用上这个条件,那么递增数组的旋转有什么特性呢?2.不难发现,如果是一个正常的递增数组,数组最小的元素是第一个元素,数组最大的元素就是最后一个元素;当你把他旋转后,最大的元素就会在最小的数组元素的前面,以这两个元素(设为left和right)为边界,这个数组实际上是由两个递增数组组成;对于这种情况,剑指offer给的思路是二分查找,用...
2018-09-25 15:56:03
155
原创 快手二面凉经
题目:数据包有512个字节,处理:每个包会加4个校验字符;offset为开始的位置,length表示取出数据的长度,现在给你一个处理完的文件,请你取出从offset位置开始长为length的原始数据(即没有校验字符串);哪些坑呢:1.offset可能是从某个数据包的中间开始的,同样offset+length定位的位置可能是某个数据包的中间;(一脚踩坑里了)2.offset好像不是处理过...
2018-09-25 09:49:25
978
原创 剑指offer两个栈实现队列
import java.util.Stack;public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>(); public void push(...
2018-09-24 21:32:20
100
原创 剑指offer重建二叉树
public class Solution { public TreeNode reConstructBinaryTree(int[] pre, int[] in) { TreeNode root = reConstructBinaryTree(pre, 0, pre.length - 1, in, 0, in.length - 1); return root; } privat...
2018-09-23 22:01:28
107
原创 剑指offer5从尾到头打印链表java
1.用栈来实现,先把listnode.val全部放进自己的栈里,然后打印栈的值/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val) {* this.val = val;* }* ...
2018-09-23 19:27:06
142
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人