04 2019 档案
摘要:题目描述 输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数,例如输入13,1~13中包含1的数字有1、10、11、12、13因此共出现6次。 解答思路 这道题目对我来说也挺难的,需要做的就是画出例子来分析。 如数字21345。 我们先分别统计每位出现1的次数然后累加起来。 个位数 我们
阅读全文
摘要:题目描述 输入一个整形数组,数组理有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n). 解答思路 这题对于我来说真是困难。。用到了动态规划。。 迭代数组,每次累加原来的子数组的值,如果原来子数组的值小于0,则相加只会变得更小,从新开始,每次比
阅读全文
摘要:题目描述 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。 解答思路 很快就想到了思路了,知道肯定是有个类似于排序好的数组去存储数据,但是还是做了一会儿才成功。 1. 不知道红黑树的存在,写插入排序算法不熟悉,最好还是一个个比
阅读全文
摘要:题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 解答思路 第一个想法还是想桶排序一样,直接遍历统计每个数字出现的次数。。 最优
阅读全文
摘要:题目描述 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 解答思路 看了大佬的解析才懂怎么做。。利用递归的思路,首先是把第1个字符和后面的依次交换得到新的字符串,然后到第2
阅读全文
摘要:题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 解答思路 二叉搜索树其实本身已经符合了排序的结构了,所以只需要把左子树的右指向根,根左指向右子树就好了,然而我还是太笨了,一时想不出。。 下面的代码中自己构建了一种结构体,分
阅读全文
摘要:题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。 解答思路 如图是1个复杂链表的结构 正常的解答思路是先复制一遍链表,链表用next指针连起来,第二步再复制random指针。 解答的方法很是巧妙,
阅读全文
摘要:题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 解答思路 问题不难,就是一开始看漏了是说二叉搜索树而不是二叉树而卡了一下,后面知道二叉搜索树的定义就是左子树比根要小,右子树要比根要大就有了思路了。
阅读全文
摘要:题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 解答思路 很快就想到思路了,先把根节点放到队列里面,然后如果队列不为空,则一直遍历队列,把队列里的节点输出,并把节点的左右节点放到队列里面。 实现代码
阅读全文
摘要:题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长
阅读全文
摘要:题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 解答思路 遇到这种问题,我的大脑很容易就短路了,因为我想不起来这种题目的前提肯定是空间换取时间的。。也就是肯定是要用额外变量来存储的。 一般人想到的方法肯定是使用一个minNumber来
阅读全文
摘要:题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 解答思路 其实想清楚了就不太难了,就是输出矩阵的一圈数据,然后圈子“半径” 1,继续输出。问题是我卡在细节的判断上面。。没有想到如果输入的数据只有一行的时候或者只有一列的时候。。 实现代码
阅读全文
摘要:题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 题目很简单。。画好图就分析得出镜子就是左右树换过来,so easy,直接写递归代码搞定! 实现代码
阅读全文
摘要:题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 解答思路 画图出来先分析思路。 1. 先判断两者的根是否相同 2. 相同则判断两者的左右子树 3. 不相同则用父树的左子树去和子树比对 4. 如果子树已经到达终点,则结束比对 分析完了会觉得不算太难
阅读全文
摘要:题目描述 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 解答思路 问题不难,就是实现起来比较麻烦,要注意鲁棒性,要注意两点: 1. 当输入的时候也是空链表 2. 某一个链表迭代完成后的话,如果另一个链表还有数据该怎么处理。 ps:这题
阅读全文

浙公网安备 33010602011771号