会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Zy
迁移新博客:https://leonzy.wang/
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
19
20
21
22
23
24
25
26
27
···
35
下一页
2020年2月13日
剑指offer 表示数值的字符串
摘要: 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
阅读(101)
评论(0)
推荐(0)
2020年2月11日
剑指offer(leetcode 10.) 正则表达式匹配
摘要: 这题一年前就做过,当时刚开始刷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
阅读(164)
评论(0)
推荐(0)
剑指offer 数组中重复的数字
摘要: 我的常规方法: 由于数组长度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
阅读(145)
评论(0)
推荐(0)
剑指offer 不用加减乘除做加法
摘要: 用位运算模拟加法,num1+num2的加法结果可以分为两个部分,一部分为二进制位加法产生了进位的结果,另一部分是二进制位加法没产生进位的结果。 比如3+5,二进制011+101,产生进位的结果为最后一位1+1,进到倒数第二位,结果为010。没产生进位的是第1位0+1和第二位1+0,结果110。 1
阅读全文
posted @ 2020-02-11 00:05 NeoZy
阅读(95)
评论(0)
推荐(0)
2020年2月10日
只出现一次的数字
摘要: 这种题目给一个数组,里面有一个数字只出现过一次,其他数字都出现过k次,求这个只出现过一次的数字。 参考leetcode评论区的思路,这种题目对于任意k都有一个通用解法,这个解法分别考察二进制位的每一位,求出每一位是1还是0,最终得到答案。 比如求答案的最后一位,那么统计数组所有数字的最后一位是等于1
阅读全文
posted @ 2020-02-10 02:44 NeoZy
阅读(139)
评论(0)
推荐(0)
765. 情侣牵手
摘要: 贪心算法(应该算吧),每次至少复合一对情侣 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
阅读(221)
评论(0)
推荐(0)
2020年2月9日
287. 寻找重复数
摘要: 官方题解给了个双指针的方法,估计面试也不会,先不看了。 正常方法: 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)
41. 缺失的第一个正数
摘要: 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)
剑指offer 面试题56. 数组中只出现一次的两个数字
摘要: 题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 方法1:用set记录出现过的数字 class Solution { public: void FindNumsAppearOnce(vector<int> data,int* num1,int *
阅读全文
posted @ 2020-02-09 21:08 NeoZy
阅读(164)
评论(0)
推荐(0)
剑指offer 面试题52. 两个链表的第一个公共节点
摘要: 这题之前leetcode做过,权当复习 首先这题没说是否一定有公共节点,如果代码可能因为这一点造成死循环的,需要提前验证所给两个链表是否有公共节点。 方法1:对于每一个list1的节点,遍历list2查找有无相同节点,O(MN) 方法2:用两个栈分别存储两个链表的所有节点,然后比较二者栈顶(如果有公
阅读全文
posted @ 2020-02-09 03:55 NeoZy
阅读(137)
评论(0)
推荐(0)
上一页
1
···
19
20
21
22
23
24
25
26
27
···
35
下一页
公告