- 博客(16)
- 资源 (36)
- 问答 (5)
- 收藏
- 关注
原创 剑指offer-表示数值的字符串
题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串”+100”,”5e2”,”-123”,”3.1416”和”-1E-16”都表示数值。 但是”12e”,”1a3.14”,”1.2.3”,”+-5”和”12e+4.3”都不是。解析 对于java有多种方法,这里首先提供一般的方法:分类处理在牛客网上还看到各种解法,虽然都是依靠java强大的函数库或者是java自己的一些
2016-08-30 13:04:57 1086
原创 剑指offer-字符流中第一个不重复的字符
题目描述请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符”go”时,第一个只出现一次的字符是”g”。当从该字符流中读出前六个字符“google”时,第一个只出现一次的字符是”l”。 输出描述: 如果当前字符流没有存在出现一次的字符,返回#字符。分析: 简单的做法是直接定义一个二维数组,存放(字符–数目) 但,java中有一个非常方便的linkedhash
2016-08-30 12:55:39 519
原创 剑指offer-链表中环的入口结点
题目描述一个链表中包含环,请找出该链表的环的入口结点。分析1,找一个环中的节点 2,通过环中的节点,通过遍历计算环中的节点个数 3,如果链表中环 有n个结点,指针P1在链表上向前移动n步,然后两个指针以相同的速度向前移动。当第二个指针指向环的入口结点时,第一个指针已经围绕着环走了一圈又回到了入口结点,此时两个节点恰好在入口处相遇,即入口节点。class ListNode { int va
2016-08-30 10:01:05 620
原创 剑指offer-二叉树的下一个结点
题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。分析二叉树的下一个节点,一共有以下情况: 1.二叉树为空,则返回空; 2.节点右孩子存在,则设置一个指针从该节点的右孩子出发,一直沿着指向左子结点的指针找到的叶子节点即为下一个节点; 3.节点不是根节点。如果该节点是其父节点的左孩子,则返回父节点;否则继
2016-08-30 09:27:24 614
原创 剑指offer-对称的二叉树
题目描述请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。思路:首先根节点以及其左右子树,左子树的左子树和右子树的右子树相同 左子树的右子树和右子树的左子树相同即可,采用递归 非递归也可,采用栈或队列存取各级子树根节点class TreeNode { int val = 0; TreeNode left = null;
2016-08-28 11:58:06 754
原创 剑指offer-数据流中的中位数
题目描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。思路我们把所有输入分为两个堆,最小堆存放前一半数值比较小的数,最大堆存放后一半数值比较大的数。 为了保证数据平均分配,我们要让两个堆数据的数目之差不超过1,因此,在总数目为偶数的时候,我们要把新数据插入最小
2016-08-28 11:32:19 662
原创 剑指offer-数组中重复的数字
题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。解析:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 没一个数字敲好对应所在的坐标(映射关系)public boo
2016-08-17 14:45:12 475
原创 剑指offer-求1+2+3+…+n
题目描述求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。简单思路:if (n == 1) { return 1; } else { return Sum_Solution(n - 1) + n; }这样有一个问题,不能使用if改进:
2016-08-17 11:51:02 560
原创 剑指offer-孩子们的游戏(圆圈中最后剩下的数)
题目描述每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0…m-1报数….这样下去….直到剩下最后一
2016-08-17 11:17:57 1148
原创 剑指offer-扑克牌顺子
题目描述LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)…他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子…..LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为12,K为13。上面的
2016-08-17 10:20:27 558
原创 剑指offer-左旋转字符串
题目描述汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!public String LeftRotateString(String str,int n) {
2016-08-17 09:57:03 496
原创 剑指offer-数组中只出现一次的数字
题目描述:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。解题分析:位算法中,相同的数字经过异或运算为0。现在数组中有两个数字只出现1次,直接异或一次只能得到这两个数字的异或结果,但光从这个结果肯定无法得到这个两个数字。因此我们来分析下简化版中“异或”解法的关键点,这个关键点也相当明显——数组只能有一个数字出现1次。设题目中这两个只出现1次的数字分别
2016-08-17 09:42:54 484
原创 java面试准备-day03-并发包类
1.ConcurrentHashMapConcurrentHashMap其实就是线程安全版本的hashMap。简单的解释就是通过把整个Map分为N个Segment(类似HashTable),这样每个HashTable之间就线程就不会发生冲突,可以提供相同的线程安全,但是效率提升N倍,默认提升16倍。 深度剖析ConcurrentHashMap ConcurrentHashMap原理分析2.C
2016-08-13 12:31:56 2708
原创 java面试准备-day03
二十一、 (x&y) + ( (x^y)>>1 )=(x+y)/2证明关于二进制的所有证明,今天得到了很好的理解。对于任何一个数,首先,我们要把所有的数想成1和0之间的运算,而不是11110000和10100101之间的运算,这样才能找到规律(可能不适用于其他的运算,暂时未发现)。java中的二进制运算包括与&、或|、非~、异或^四种,以及几种位移运算;这里我们把所有的整数数都拆开来看:m=a0
2016-08-12 18:09:46 577
原创 java面试准备-day02
十四、线程组的作用线程组的作用相当于将一组线程封装到一个组里面,这样就保证了这些线程是一个整体;相反,如果不封装,这些线程就属于单独的个体,就会和其他线程(不再这个组的)同步执行。(作用是,整体线程组全部都完成后,才能执行其他的线程)问题的提出,我们经常会有几项的任务,这几项任务之间本身没有先后顺序关系,或者是协作来共同完成一个目标。这个时候,我们就希望能够把这几项任务并行进行运行以充分利用CP
2016-08-12 15:54:07 758
原创 java面试准备-day01
一、Java:按值传递还是按引用传递详细解说java只有值传递基本类型,直接按值进行传递,所传的值为原值的副本,不改变;引用类型指向一个实例对象,p->persion,所传的值也是p的副本(-p),当改变-p指向的对象时,对象本身即发生改变。p指向并没有被影响到。这两个其实是一个意思,说多了反而复杂了。至于String对象, 有一个很好地解释: String传递的也是引用副本的传递,但是因
2016-08-10 17:40:34 736
An_Introduction_to_Voice_Computing_in_Python
2019-01-24
风控算法大赛解决方案
2017-10-31
Adaboost 算法的原理与推导
2017-10-31
技术之瞳+阿里巴巴技术笔试心得
2017-09-22
sqljdbc4.jar
2017-07-14
opencv_python-3.2.0+contrib-cp35-cp35m-win_amd64.whl
2017-06-15
统计自然语言处理
2016-09-30
JAVASCRIPT实例自学手册
2016-09-30
jsp中连接跳转丢失项目名
2018-05-10
Java中如何动态修改JFrame的内容?
2017-05-06
Java中如何根据我点击的按钮呈现不同的JTable样式(一个JFrame中)?
2017-04-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人