年少挽剑世无双·
年少挽剑世无双·
全部文章
题解
剑指Offer(7)
未归档(4)
归档
标签
去牛客网
登录
/
注册
年少挽剑世无双
全部文章
/ 题解
(共42篇)
剑指Offer第三十三题:丑数
题目描述把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 解答:刚看到这个题目,想的是丑数排序有什么样的规律,但是发现前一个丑数和后一个丑数似乎没有任何规律。看了别人...
2020-03-19
21
1291
剑指Offer第三十二题:把数组排成最小的数
题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 思路:找到数组中数的排列顺序,任意一个子序列都满足S1+S2<S2+S1的规律,因为若某两个数不满足,那么调...
2020-03-18
1
706
剑指Offer第三十题:连续子数组的最大和
题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,...
2020-03-18
3
770
剑指Offer第二十九题:最小的K个数
题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。 解答:一种比较常见的思路就是先排序后取出前k位数字,这其中有各类排序算法都适用。比如冒泡排序,每一次遍历结束都可以定位一个最小值,这样就只需要k次遍历。 另一种思路是利...
2020-03-17
2
844
剑指Offer第二十八题:数组中出现次数超过一般的数字
题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 解答:1:阵地攻守的思路:第一个数字作为士兵,count=1,遇到一个相等的数字...
2020-03-16
5
884
剑指Offer第二十七题:字符串的排列
题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。 解答:借鉴一下别人的方法,记录一下自...
2020-03-16
0
659
剑指Offer第二十六题:二叉搜索树与双向链表
题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 解答:1.思路:添加一个数组存放中序遍历的结果。 public class Q_26 { List<TreeNode> list=new ArrayList<...
2020-03-13
0
512
剑指Offer第二十五题:复杂链表的复制
题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 解答:思路:利用hashmap存放新旧节点的映射关系public class...
2020-03-13
0
544
剑指Offer第二十四题:二叉树中和为某一值的路径
题目描述输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前) 解答:数组长度大的数组靠前 ???这个问题让我想了很久,一开始想到把左右子节点中小的节...
2020-03-10
10
1229
剑指Offer第二十三题:二叉搜索树的后序遍历序列
题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。解答:思路:递归方法:一个n个数的数组,最后一位必定是根节点,前面n-1个数的前一半在左子树,后一半在右子树,那么就符合条件。对前后数据再做同样的判断。p...
2020-03-10
0
590
首页
上一页
1
2
3
4
5
下一页
末页