• 2024-11-16(LeetCode 热题 100) 49. 字母异位词分组(哈希表、字符串)
    题目:49.字母异位词分组思路:哈希表。将每个字符串升序排序,然后采用哈希表即可。C++版本:classSolution{public:vector<vector<string>>groupAnagrams(vector<string>&strs){ //哈希表unordered_map<string,vector<string>>mp;//遍历
  • 2024-11-07力扣中等难度热题——长度为K的子数组的能量值
    目录题目链接:3255.长度为K的子数组的能量值II-力扣(LeetCode)题目描述示例提示:解法一:通过连续上升的长度判断Java写法:C++写法: 相比与Java写法的差别运行时间时间复杂度和空间复杂度时间复杂度:空间复杂度:解法二:双指针+极限优化优化前Java写法:优化前运行时
  • 2024-11-04Leecode热题100-78.子集
    给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。示例1:输入:nums=[1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例2:输入:nums=[0]输出:[[],[0]]提
  • 2024-10-19LeetCode热题100|买卖股票的最佳时机(贪心)
    简述题意省流版:在一个序列里找到max(a[i]-a[k])且i>k。解题思路:  遍历这个序列,i表示当前遍历到了第i个元素,min1表示1到i这个范围内最小的元素,max1表示1到i这个范围内最大的【max(a[i]-a[k])】。max1=max(max1,第i个元素的值-min1)代码如下:classSolution{public:intm
  • 2024-10-09(LeetCode 热题 100) 1143. 最长公共子序列(动态规划dp)
    题目:1143.最长公共子序列思路:经典动态规划dp题型,时间复杂度为0(n^2)。C++版本:classSolution{public:intlongestCommonSubsequence(stringtext1,stringtext2){intn=text1.size(),m=text2.size();//状态f[i][j]表示:text1[0,i]和text2[0
  • 2024-10-05Leecode热题100-3.无重复字符最长子串
    给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。示例 1:输入:s="abcabcbb"输出:3解释:因为无重复字符的最长子串是"abc",所以其长度为3。示例2:输入:s="bbbbb"输出:1解释:因为无重复字符的最长子串是"b",所以其长度为1。
  • 2024-09-16力扣热题100 - 二叉树:二叉树展开为链表
    题目描述:题号:114给你二叉树的根结点 root ,请你将它展开为一个单链表:展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同。解题思路:思路一:前序遍历后
  • 2024-08-31LeetCode 热题 100 回顾
    目录一、哈希部分1.两数之和 (简单)2.字母异位词分组 (中等)3.最长连续序列 (中等)二、双指针部分4.移动零 (简单)5.盛最多水的容器 (中等)6. 三数之和 (中等)7.接雨水 (困难)三、滑动窗口8.无重复字符的最长子串 (中等)9.找到字符串中所有字母异位词 (中等)四、子串10.
  • 2024-08-20leetcode 热题思路解析-最长连续序列
    题目给定一个未排序的整数数组nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为O(n)的算法解决此问题。示例1:输入:nums=[100,4,200,1,3,2]输出:4解释:最长数字连续序列是[1,2,3,4]。它的长度为4。示例2:输入
  • 2024-08-20力扣热题100_二分查找_74_搜索二维矩阵
    文章目录题目链接解题思路解题代码题目链接74.搜索二维矩阵给你一个满足下述两条属性的mxn整数矩阵:每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。给你一个整数target,如果target在矩阵中,返回true;否则,返回fa
  • 2024-08-09(day31)leecode热题——多数元素
    描述给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊n/2⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入:nums=[3,2,3]输出:3示例 2:输入:nums=[2,2,1,1,1,2,2]输出:2提示:n==
  • 2024-08-09Leetcode热题100-128.最长连续序列
    Leetcode热题100-128.最长连续序列1.题目描述2.解题思路3.代码实现1.题目描述128.最长连续序列2.解题思路使用哈希集合的思想:初始化一个unordered_set并将nums中所有元素放入集合中;遍历数组,依次判断当前元素是否为连续序列的开始,若是则求出当前连续序列
  • 2024-08-06《LeetCode热题100》---<5.②普通数组篇五道>
    本篇博客讲解LeetCode热题100道普通数组篇中的五道题第三道:轮转数组(中等)第四道:除自身以外数组的乘积(中等)第三道:轮转数组(中等) 方法一:使用额外的数组classSolution{publicvoidrotate(int[]nums,intk){intlen=nums.length;int[]newAr
  • 2024-08-05LeetCode 热题 HOT 100 (017/100)【宇宙最简单版】
    【链表】No.0148排序链表【中等】
  • 2024-08-02LeetCode 热题 HOT 100 (015/100)【宇宙最简单版】
    【栈】No.0155最小栈【中等】
  • 2024-07-29《LeetCode热题100》---<双指针篇四道>
    本篇博客讲解LeetCode热题100道双指针篇中的第一道:移动零(简单)第二道:盛最多水的容器(中等)第一道:移动零(简单)classSolution{publicvoidmoveZeroes(int[]nums){for(intcur=0,dest=-1;cur<nums.length;cur++){//采用双指针
  • 2024-07-28leetcode热题100.最长有效括号(动态规划完结篇)
    今天给大家带来一道leetcode经典题,最长有效括号,本文将介绍动态规划解法解法,希望对你有所帮助。这是动态规划系列的最后一题了,想要看之前动态规划的题解的小伙伴可以去热题100专栏获取
  • 2024-07-25LeetCode 热题 HOT 100 (007/100)【宇宙最简单版】
    【数组】No.0215数组中第k个最大的元素【中等】
  • 2024-06-23LeetCode热题100(136.只出现一次数字)
    一.只出现一次数字给你一个非空整数数组nums,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。示例1:输入:nums=[2,2,1]输出:1示例2:输入:nums=
  • 2024-06-20LeetCode热题100-第2题
    题目:49.字母异位词分组-力扣(LeetCode)给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。字母异位词 是由重新排列源单词的所有字母得到的一个新单词。示例1:输入:strs=["eat","tea","tan","ate","nat","bat"]输出:[["bat"],["
  • 2024-06-10牛客热题:矩阵的最小路径和
  • 2024-06-02LeeCode热题100(爬楼梯)
    爬楼梯这个题我断断续续看了不下5遍,哪次看都是懵逼的,就会说是满足动态规划,满足斐波那契数列,也不说为什么。本文一定让你明白怎么分析这个题的规律(利用数学的递推思想来分析),看不懂来打我,但是一定要自己动手画一画台阶写一下。注意:不论是多少个台阶,第一步就只有两种情况是吧:1步
  • 2024-05-26牛客热题:包含min函数的栈
  • 2024-05-04leetcod算法热题--移动零
    题目给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。请注意,必须在不复制数组的情况下原地对数组进行操作。示例1:输入:nums=[0,1,0,3,12]输出:[1,3,12,0,0]示例2:输入:nums=[0]输出:[0]提示:1<=nums.length<=
  • 2024-05-04leetcode算法热题--最长连续序列
    题目给定一个未排序的整数数组nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为O(n)的算法解决此问题。示例1:输入:nums=[100,4,200,1,3,2]输出:4解释:最长数字连续序列是[1,2,3,4]。它的长度为4。示例2:输入:nums=