- 博客(11)
- 资源 (1)
- 收藏
- 关注
原创 链表中环的入口结点
题目描述 一个链表中包含环,请找出该链表的环的入口结点。 //链表中环的入口结点 //确定是否有环:两指针一快一慢,如果能遇到,说明有环 //确定环内结点个数:从两指针遇到开始计数,再次遇到即是环内结点个数 #include using namespace std; struct ListNode { int val; struct ListNode *next;
2015-09-16 17:02:50 377
原创 表示数值的字符串
题目描述 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。 思路://判断字符串是否为正确数字格式 //练习了对指针的指针的使用 //参考书上的方法 //*和++哪个优先级更高?一样
2015-09-16 17:01:25 256
原创 构建乘积数组
题目描述 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。 思路:这题我原本的方法比较暴力,复杂度为O(n^2),后参考剑指的方法,复杂度降为O(n).涉及到这种容易重复计算的要考虑用空间记录前列的结果 //数组乘积
2015-09-16 16:59:35 341
原创 滑动窗口的最大值
题目描述: 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6]
2015-09-12 18:27:04 631
原创 二叉搜索树的第k个结点
题目描述 给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。 思路:采用递归,每次计算左子树个数,则该节点为左子树个数加1个节点。判断其与k的大小比较,往左往右递归。 //二叉搜索树的第k个结点 #include using namespace std; struct
2015-09-12 17:41:12 975
原创 得到重复的数字
//得到重复的数字 * 题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。 也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。*/ #include using namespace std
2015-09-11 19:54:22 351
原创 二叉树的下一个结点
题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 输入只有树中某个节点,自然地,二叉树的关系也会被传入。 感想:主要是要理清楚规律。我的方法是先找到两个特殊点,一个是根节点,一个是中序最后一个点。先把这两种的情况给返回。 其余的符合以下特点: (1)一个节点有右子树:
2015-09-11 15:52:26 405
原创 圆圈中最后剩下的数
题目描述 每年六一儿童节,NowCoder都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为NowCoder的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0...m-1
2015-09-11 14:48:40 429
原创 和为S的连续正数序列
题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck! 输出描述: 输出所有
2015-09-11 14:43:22 368
原创 对称二叉树
题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 这题还是蛮简单的。 //对称二叉树 #include using namespace std; struct treenode { int val; struct treenode *left; struct treenode *right; tr
2015-09-11 14:39:17 337
原创 删除链表中重复的结点
题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5感想:这题写了好久,来来回回将近一天吧。快被自己乱糟糟的逻辑给整哭了,忍住没抄剑指的答案,最后还好牛客里所有测试用例都过了。 //删除链表中重复的结点 #include using namespace std; s
2015-09-11 14:34:31 482
概要设计文档模板
2012-04-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人