上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 35 下一页
摘要: 1 class Solution { 2 public: 4 bool isNumeric(char* string) 5 { 6 std::string str=string; 7 if(str.empty()){return true;} 8 bool if_e=false,if_dian=fa 阅读全文
posted @ 2020-02-13 01:27 NeoZy 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 这题一年前就做过,当时刚开始刷leetcode,提交了几十次过不去,就放那没管了。今天剑指offer又遇到这题,终于做出来了,用的dp。 1 class Solution { 2 public: 3 bool isMatch(string s, string p) { 4 int s_len=s.s 阅读全文
posted @ 2020-02-11 02:02 NeoZy 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 我的常规方法: 由于数组长度n,所有数据的大小都在0到n-1之间,所以考虑把每一位上的数字都放到应该呆的位置。如果nums[i]!=i并且nums[i]该呆的位置(nums[nums[i]])已经等于nums[i]了,说明出现了重复数字。 1 class Solution { 2 public: 3 阅读全文
posted @ 2020-02-11 01:02 NeoZy 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 用位运算模拟加法,num1+num2的加法结果可以分为两个部分,一部分为二进制位加法产生了进位的结果,另一部分是二进制位加法没产生进位的结果。 比如3+5,二进制011+101,产生进位的结果为最后一位1+1,进到倒数第二位,结果为010。没产生进位的是第1位0+1和第二位1+0,结果110。 1 阅读全文
posted @ 2020-02-11 00:05 NeoZy 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 这种题目给一个数组,里面有一个数字只出现过一次,其他数字都出现过k次,求这个只出现过一次的数字。 参考leetcode评论区的思路,这种题目对于任意k都有一个通用解法,这个解法分别考察二进制位的每一位,求出每一位是1还是0,最终得到答案。 比如求答案的最后一位,那么统计数组所有数字的最后一位是等于1 阅读全文
posted @ 2020-02-10 02:44 NeoZy 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 贪心算法(应该算吧),每次至少复合一对情侣 1 class Solution { 2 public: 3 int minSwapsCouples(vector<int>& row) { 4 if(row.empty()){return 0;} 5 int n=row.size(); 6 vector 阅读全文
posted @ 2020-02-10 00:58 NeoZy 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 官方题解给了个双指针的方法,估计面试也不会,先不看了。 正常方法: 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 阅读(157) 评论(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 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 方法1:用set记录出现过的数字 class Solution { public: void FindNumsAppearOnce(vector<int> data,int* num1,int * 阅读全文
posted @ 2020-02-09 21:08 NeoZy 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 这题之前leetcode做过,权当复习 首先这题没说是否一定有公共节点,如果代码可能因为这一点造成死循环的,需要提前验证所给两个链表是否有公共节点。 方法1:对于每一个list1的节点,遍历list2查找有无相同节点,O(MN) 方法2:用两个栈分别存储两个链表的所有节点,然后比较二者栈顶(如果有公 阅读全文
posted @ 2020-02-09 03:55 NeoZy 阅读(134) 评论(0) 推荐(0) 编辑
上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 35 下一页