![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer
淘气的二进制
我有一个朋友,他经历过我的所有的故事,我偶尔会向别人提起他,但没有人知道他是谁。
展开
-
[剑指offer]链表中倒数第k个结点
题目输入一个链表,输出该链表中倒数第k个结点。/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/import java.util.ArrayList;import java.util....原创 2018-03-10 16:16:37 · 142 阅读 · 0 评论 -
[剑指offer]孩子们的游戏(圆圈中最后剩下的数)
题目孩子们的游戏(圆圈中最后剩下的数)描述每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开...原创 2018-04-21 00:07:36 · 206 阅读 · 0 评论 -
[剑指offer]扑克牌顺子
题目扑克牌顺子描述LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)…他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子…..LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11...原创 2018-04-20 23:35:02 · 222 阅读 · 0 评论 -
[剑指offer]变态跳台阶
题目变态跳台阶描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路链接:https://www.nowcoder.com/questionTerminal/22243d016f6b47f2a6928b4313c85387 来源:牛客网dangle 关于本题,前提是n个台阶会有一次n阶的跳法。分析如...原创 2018-04-30 23:45:04 · 294 阅读 · 0 评论 -
[剑指offer]旋转数组的最小数字
题目旋转数组的最小数字描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。思路利用二分查找的思想排序,是在暴力遍历数组代码...原创 2018-04-30 23:33:54 · 129 阅读 · 0 评论 -
[剑指offer]翻转单词顺序列
题目翻转单词顺序列描述牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么...原创 2018-04-12 13:21:28 · 248 阅读 · 0 评论 -
[剑指offer]和为S的连续正数序列
题目和为S的连续正数序列描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck! 输出描...原创 2018-04-12 00:43:33 · 226 阅读 · 0 评论 -
[剑指offer]和为S的两个数字
看了他人思路后,发现我的算法思路是真的渣到没谁了哦?真是异类般的存在…题目和为S的两个数字描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 输出描述: 对应每个测试案例,输出两个数,小的先输出。思路个人思路(觉得好蠢的想法哦)因为数组有有序的,先判断中间的数与sum的比较...原创 2018-04-11 23:30:31 · 196 阅读 · 0 评论 -
[剑指offer]字符串的排列
题目字符串的排列描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 思路基于回溯法思想:代码package com.wy.offer;import java.util.ArrayList;import java.uti...原创 2018-04-03 23:14:35 · 236 阅读 · 1 评论 -
[剑指offer]数组中出现次数超过一半的数字
题目数组中出现次数超过一半的数字描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。思路方法一将数组排序,中位数一定是 时间复杂度为nlogn采用阵地攻守的思想:第一个数字作为第一个士兵,守阵地;cou...原创 2018-04-08 22:04:23 · 231 阅读 · 0 评论 -
[剑指offer]两个链表的第一个公共结点
题目两个链表的第一个公共结点描述输入两个链表,找出它们的第一个公共结点。思路暴力法,时间复杂度为On的平方….链表特性代码方法一public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) { if(pHead1==null||pHead2==null)...原创 2018-03-31 23:17:02 · 126 阅读 · 0 评论 -
[剑指offer]求二叉树的深度
题目求二叉树的深度描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。思路通过层次遍历,获取层数即可递归思路代码通过层次遍历,获取层数即可public class Solution { public int TreeDepth(TreeNode pRoot) ...原创 2018-03-31 23:15:57 · 163 阅读 · 0 评论 -
[剑指offer]整数中1出现的次数(从1到n整数中1出现的次数)
题目整数中1出现的次数(从1到n整数中1出现的次数)描述求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数。思路来源LeetCode Go ...原创 2018-03-30 22:09:28 · 172 阅读 · 0 评论 -
[剑指offer]连续子数组的最大和
题目连续子数组的最大和描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你...原创 2018-03-30 22:07:55 · 156 阅读 · 0 评论 -
[剑指offer]二叉搜索树的后序遍历序列
题目二叉搜索树的后序遍历序列描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。 如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。思路BST的后序序列的合法序列是,对于一个序列S,最后一个元素是x (也就是根),如果去掉最后一个元素的序列为T,那么T满足:T可以分成两段,前一段(左子树)小于x,后一段(右子树)大于x,且这两段...原创 2018-03-30 22:02:32 · 273 阅读 · 0 评论 -
[剑指offer]替换空格
题目替换空格描述请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路对于javaer来说,可以直接使用replace方法,不过这样做失去了面试官的真正意思详看代码代码package com.wy.offerMy;//替换空格为 %20p...原创 2018-04-27 23:59:09 · 186 阅读 · 0 评论