摘要: // 面试题53(二):0到n-1中缺失的数字 // 题目:一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字 // 都在范围0到n-1之内。在范围0到n-1的n个数字中有且只有一个数字不在该数组 // 中,请找出这个数字。 #include //可以用等差数列求和得到A,然后求数组全部数字和B,然后A-B是缺失的数字,但是该算法时间复杂度是O(n),没有利用递增排序的特点 ... 阅读全文
posted @ 2019-03-14 09:24 深夜十二点三十三 阅读(422) 评论(0) 推荐(0) 编辑
摘要: // 面试题53(一):数字在排序数组中出现的次数 // 题目:统计一个数字在排序数组中出现的次数。例如输入排序数组{1, 2, 3, 3, // 3, 3, 4, 5}和数字3,由于3在这个数组中出现了4次,因此输出4。 #include int GetFirstK(const int* data, int length, int k, int start, int end); int ... 阅读全文
posted @ 2019-03-14 09:17 深夜十二点三十三 阅读(250) 评论(0) 推荐(0) 编辑
摘要: // 面试题52:两个链表的第一个公共结点 // 题目:输入两个链表,找出它们的第一个公共结点。 #include #include "List.h" unsigned int GetListLength(ListNode* pHead); //下面这个时间复杂度是O(m+n),且不用辅助空间 //另一种方法是使用两个栈,从尾到头比较,这样时间复杂度不变,空间复杂度O(m+n) ListN... 阅读全文
posted @ 2019-03-14 08:49 深夜十二点三十三 阅读(197) 评论(0) 推荐(0) 编辑