会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
gqzz
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
下一页
2025年2月14日
344 反转字符串 541反转字符串II
摘要: 344没啥好说的 class Solution { public: void reverseString(vector<char>& s) { int len = s.size(); int left = 0; int right = len-1; while (left < len / 2 ) {
阅读全文
posted @ 2025-02-14 19:57 名字好难想zzz
阅读(21)
评论(0)
推荐(0)
2025年1月26日
18四数之和
摘要: 和三数之和差不多 class Solution { public: vector<vector<int>> fourSum(vector<int>& nums, int target) { vector<vector<int>> ans; sort(nums.begin(), nums.end())
阅读全文
posted @ 2025-01-26 21:07 名字好难想zzz
阅读(9)
评论(0)
推荐(0)
2025年1月14日
15三数之和
摘要: 自己的思路是将解的情况分类:只有三种情况 (正,0,负),(正,正,负),(负,负,正)。 将nums分为两个数组pos,保存正数;neg,保存负数。 当两个数组的长度小于nums的长度时说明存在0,这个时候利用哈希的方法可以找到第一种情况的所有解; 对于第二种情况,构建set:possum,保存两
阅读全文
posted @ 2025-01-14 21:17 名字好难想zzz
阅读(26)
评论(0)
推荐(0)
2025年1月13日
383 赎金信
摘要: 很简单的一道题,这里要注意到不仅要每个字符都要有,而且数目也要大于等于。 class Solution { public: bool canConstruct(string ransomNote, string magazine) { int r[26] = {0}; int m[26] = {0}
阅读全文
posted @ 2025-01-13 20:14 名字好难想zzz
阅读(8)
评论(0)
推荐(0)
454 四数相加
摘要: 开始的想法是对a中的每个元素建立一个set,然后对去b中寻找负的set元素。但是由于有四个vector,操作起来很容易重复或者遗漏。于是去看解析。 我们先取a、b数组,然后两次循环求出所有可能的和(key)以及出现的次数(value),建立一个unorder_map sumab。然后对c、d数组求出
阅读全文
posted @ 2025-01-13 20:03 名字好难想zzz
阅读(13)
评论(0)
推荐(0)
2025年1月9日
1两数之和
摘要: 这道题也是经典的越写越复杂,最开始不能通过[3,3],6。然后就写判断map1[target-nums[i]]!=map1[nums[i]].还是不能通过,然后换成multimap,换完之后也不行。然后去查怎么获得相同key的value,然后知道了equal.range()。最后终于也是写出来了,但
阅读全文
posted @ 2025-01-09 22:07 名字好难想zzz
阅读(11)
评论(0)
推荐(0)
2025年1月8日
242有效的字母异位词 349. 两个数组的交集 202快乐数
摘要: 这几道都比较简单,主要是熟悉哈希的操作 class Solution { public: bool isAnagram(string s, string t) { int alphab[26] = {0}; for(int i=0; i < s.size(); i++) { alphab[ s[i]
阅读全文
posted @ 2025-01-08 21:21 名字好难想zzz
阅读(10)
评论(0)
推荐(0)
2025年1月6日
142环形链表
摘要: 最简单的思路:哈希。进阶那个快慢指针确实想不到。 //哈希,空间为O(n) class Solution { public: ListNode *detectCycle(ListNode *head) { unordered_set<ListNode*> adds ; if(head == null
阅读全文
posted @ 2025-01-06 21:38 名字好难想zzz
阅读(6)
评论(0)
推荐(0)
2025年1月4日
160链表相交
摘要: 哈希肯定是能解的,就想着有没有其他方法。最开始的思路是翻转链表,然后再来找相交结点,但是题目要求不能改链表结构。 官方题解的第二种方法确实巧妙,如果有相交结点的话最多通过两次遍历就一定能找到。在分析中,其实我们也可以把两个不相交的链表看做相交,但是相交结点为nullptr 代码随想录上将两个链表尾部
阅读全文
posted @ 2025-01-04 22:15 名字好难想zzz
阅读(11)
评论(0)
推荐(0)
19删除链表的倒数第n个结点
摘要: 正常思路,先遍历一遍链表得到长度,然后进行第二次遍历得到待删除结点的上一个结点 class Solution { public: ListNode* removeNthFromEnd(ListNode* head, int n) { ListNode* dummyHead = new ListNod
阅读全文
posted @ 2025-01-04 20:39 名字好难想zzz
阅读(10)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
下一页
公告