摘要:
官方题解给了个双指针的方法,估计面试也不会,先不看了。 正常方法: 1.排序 2.用set或者直接在原vector上记录出现的值 3.二分,这里是对数据范围2分。令n为vector长度,则所有数据都在1到n-1的范围内。取le=1,ri=n-1,mi=n/2。然后遍历整个vector,计算在[le, 阅读全文
posted @ 2020-02-09 23:59
NeoZy
阅读(162)
评论(0)
推荐(0)
摘要:
1 class Solution { 2 public: 3 int firstMissingPositive(vector<int>& nums) { 4 if(nums.empty()){return 1;} 5 int n=nums.size(); 6 for(int i=0;i<n;++i) 阅读全文
posted @ 2020-02-09 23:22
NeoZy
阅读(111)
评论(0)
推荐(0)
摘要:
题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 方法1:用set记录出现过的数字 class Solution { public: void FindNumsAppearOnce(vector<int> data,int* num1,int * 阅读全文
posted @ 2020-02-09 21:08
NeoZy
阅读(164)
评论(0)
推荐(0)
摘要:
这题之前leetcode做过,权当复习 首先这题没说是否一定有公共节点,如果代码可能因为这一点造成死循环的,需要提前验证所给两个链表是否有公共节点。 方法1:对于每一个list1的节点,遍历list2查找有无相同节点,O(MN) 方法2:用两个栈分别存储两个链表的所有节点,然后比较二者栈顶(如果有公 阅读全文
posted @ 2020-02-09 03:55
NeoZy
阅读(137)
评论(0)
推荐(0)

浙公网安备 33010602011771号