哀家专题

31.哀家要长脑子了!

不行啊 这个不能停啊 1.451. 根据字符出现频率排序 - 力扣(LeetCode) 哎哟,每次朦朦胧胧似懂非懂的,一看到感觉就是用无序map,但是让我上手我又不知道怎么写了,烦死了! 说一下:用一个unordered_map统计每个字符出现的次数,因为它是unordered的,所以它是不支持按key或者按value排序的,把它再放进一个数组可以用sort函数按字符的出现次数排序呀,最

25.哀家要长脑子了---哈希表

1.525. 连续数组 - 力扣(LeetCode) 在我对通义千问的一番折磨下,终于弄清楚一点点了。哈希表存储前缀和数组值 用一个counter来记录nums中0、1数量差值的变化。 哈希表map存储某个特定的counter值首次出现的位置。counter的计算:出现1就加1,出现0就减1。第二次出现同样的counter值意味着从第一次出现的counter位置到第二次出现的counter

24.哀家要长脑子了!

目录 1.594. 最长和谐子序列 - 力扣(LeetCode) 2.350. 两个数组的交集 II - 力扣(LeetCode) 3.554. 砖墙 - 力扣(LeetCode)  4.9. 回文数 - 力扣(LeetCode)  5.13. 罗马数字转整数 - 力扣(LeetCode) 6.58. 最后一个单词的长度 - 力扣(LeetCode) 1.594. 最长和谐子序列

21.哀家要长脑子了!

1.21. 合并两个有序链表 - 力扣(LeetCode)  我做过啊,为什么还是不能独立做出来,为什么为什么啊啊啊 嘻嘻奔向五一 是这样的: 要按升序连接,以链表2头结点作为开端,哪个小就先连接哪个,然后把此时操作的链表的指针往后移,同时遍历新链表的指针也要往后移 class Solution {public:ListNode* mergeTwoLists(ListNode*

18.哀家要长脑子了!

1.242. 有效的字母异位词 - 力扣(LeetCode) 用一个flag数组,s出现的 加! t出现的 减! 这样s和t中每个字符出现的次数相同的话,就会加多少减多少,flag数组的元素值都会是0 class Solution {public:bool isAnagram(string s, string t) {int flag[26] = {0};for(int i = 0; i

16.哀家要长脑子了!

目录 1. 707. 设计链表 - 力扣(LeetCode) 2.203. 移除链表元素 - 力扣(LeetCode) 3.206. 反转链表 - 力扣(LeetCode) 4.237. 删除链表中的节点 - 力扣(LeetCode) 5. 19. 删除链表的倒数第 N 个结点 - 力扣(LeetCode) 1. 707. 设计链表 - 力扣(LeetCode) 这我都懂,但

11.哀家要长脑子了!

目录 1.453. 最小操作次数使数组元素相等 - 力扣(LeetCode) 2.665. 非递减数列 - 力扣(LeetCode)  3. 283. 移动零 - 力扣(LeetCode) 4. 3114. 替换字符可以得到的最晚时间 - 力扣(LeetCode) 5. 3115. 素数的最大距离 - 力扣(LeetCode) 1. 453. 最小操作次数使数组元素相等 - 力扣(

10.哀家要长脑子了!

1. 704. 二分查找 - 力扣(LeetCode) 哎哟 我去 我还以为你都搞懂了 呵呵 当时问题出现在右边界初始化 左闭右开 右边界是取不到的 int left = 0, right = nums.size() ; while(left < right) {         int mid = left + (right - left) / 2;         if( tar