- 博客(8)
- 收藏
- 关注
原创 练习题之整数中1出现的次数
题目:求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。代码实现:/*解题思路: 将整数n转成字符串,然...
2018-11-03 17:40:34 286
原创 练习题之连续子数组的最大和
题目:例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列的和,你会不会被他忽悠住?(子向量的长度至少是1)代码实现:/*使用动态规划: F(i):以array[i]为末尾元素的子数组的最大值,子数组的相对位置不变。 F(i)=max(F(i-1)+array[i...
2018-11-03 17:30:08 219
原创 练习题之数组中出现次数超过一半的数字
题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。代码实现:/*解题思路: 1.先给数组进行排序。 2.因为要找出在数组中出现次数超过数组长度一半的数,那么这个数一定在中间。 ...
2018-11-03 17:08:51 252
原创 练习题之从上往下打印二叉树
题目:从上往下打印出二叉树的每个节点,同层结点从左至右打印。代码实现import java.util.ArrayList;/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) {...
2018-11-03 16:06:12 186
原创 练习题之栈的压入,弹出序列
题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)代码实现import java.util.ArrayList;i...
2018-11-03 15:51:31 174
原创 练习题之包含min函数的栈
题目:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。代码实现:import java.util.Stack;import java.util.Iterator;public class Solution { //定义一个栈 Stack<Integer> stack=new Stack<...
2018-11-03 15:25:17 124
原创 练习题之顺时针打印矩阵
题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.代码实现:import java.util.ArrayList;public class Solu...
2018-11-03 15:23:38 184
原创 练习题之复杂链表的复制
题目:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)解题思路:方法一:直接通过原来链表来创建链表,包括随机指针。方法二:1.遍历链表,复制每个节点,并将复制的节点插入到原结点之后。2.重新遍历链表,复制...
2018-11-03 14:46:44 116
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人