摘要: 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)
摘要: 和三数之和差不多 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)
摘要: 自己的思路是将解的情况分类:只有三种情况 (正,0,负),(正,正,负),(负,负,正)。 将nums分为两个数组pos,保存正数;neg,保存负数。 当两个数组的长度小于nums的长度时说明存在0,这个时候利用哈希的方法可以找到第一种情况的所有解; 对于第二种情况,构建set:possum,保存两 阅读全文
posted @ 2025-01-14 21:17 名字好难想zzz 阅读(26) 评论(0) 推荐(0)
摘要: 很简单的一道题,这里要注意到不仅要每个字符都要有,而且数目也要大于等于。 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)
摘要: 开始的想法是对a中的每个元素建立一个set,然后对去b中寻找负的set元素。但是由于有四个vector,操作起来很容易重复或者遗漏。于是去看解析。 我们先取a、b数组,然后两次循环求出所有可能的和(key)以及出现的次数(value),建立一个unorder_map sumab。然后对c、d数组求出 阅读全文
posted @ 2025-01-13 20:03 名字好难想zzz 阅读(13) 评论(0) 推荐(0)
摘要: 这道题也是经典的越写越复杂,最开始不能通过[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)
摘要: 这几道都比较简单,主要是熟悉哈希的操作 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)
摘要: 最简单的思路:哈希。进阶那个快慢指针确实想不到。 //哈希,空间为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)
摘要: 哈希肯定是能解的,就想着有没有其他方法。最开始的思路是翻转链表,然后再来找相交结点,但是题目要求不能改链表结构。 官方题解的第二种方法确实巧妙,如果有相交结点的话最多通过两次遍历就一定能找到。在分析中,其实我们也可以把两个不相交的链表看做相交,但是相交结点为nullptr 代码随想录上将两个链表尾部 阅读全文
posted @ 2025-01-04 22:15 名字好难想zzz 阅读(11) 评论(0) 推荐(0)
摘要: 正常思路,先遍历一遍链表得到长度,然后进行第二次遍历得到待删除结点的上一个结点 class Solution { public: ListNode* removeNthFromEnd(ListNode* head, int n) { ListNode* dummyHead = new ListNod 阅读全文
posted @ 2025-01-04 20:39 名字好难想zzz 阅读(10) 评论(0) 推荐(0)