• 2024-06-15个人关于Leecode 49题见解(保姆级)
    题目:49.字母异位词分组中等相关标签相关企业给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。字母异位词 是由重新排列源单词的所有字母得到的一个新单词。示例1:输入:strs=["eat","tea","tan","ate","nat","bat"]输出:
  • 2024-06-02LeeCode热题100(爬楼梯)
    爬楼梯这个题我断断续续看了不下5遍,哪次看都是懵逼的,就会说是满足动态规划,满足斐波那契数列,也不说为什么。本文一定让你明白怎么分析这个题的规律(利用数学的递推思想来分析),看不懂来打我,但是一定要自己动手画一画台阶写一下。注意:不论是多少个台阶,第一步就只有两种情况是吧:1步
  • 2024-05-30Leecode热题100--215:数组中的第k个最大值
    题目:给定整数数组nums和整数k,请返回数组中第k个最大的元素。请注意,你需要找的是数组排序后的第k个最大的元素,而不是第k个不同的元素。时间复杂度为O(n)的算法解法一:利用STL特性解题:#include<iostream>#include<vector>#include<algorithm>usingnamespac
  • 2024-05-30Leecode---栈---每日温度 / 最小栈及栈和队列的相互实现
    栈:先入后出;队列:先入先出一、每日温度Leecode—739题目:给定一个整数数组temperatures,表示每天的温度,返回一个数组answer,其中answer[i]是指对于第i天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用0来代替。单调栈思路:1、新建一个存储
  • 2024-05-30Leecode热题100---二分查找--4:寻找两个正序数组的中位数
    题目:给定两个大小分别为m和n的正序(从小到大)数组nums1和nums2。请你找出并返回这两个正序数组的中位数。解法1、暴力解法(归并)思路:合并nums1,nums2为第三个数组排序第三个数组按下标,找出中位数classSolution{public: doublefindMedianSortedArrays(vec
  • 2024-04-07SQL窗口函数的移动求和/平均,及相应的Leecode题目
    原文链接:https://blog.csdn.net/weixin_45638528/article/details/130229603移动求和的窗口函数——连续n个数据求和sum(字段1)over(partitionby字段2orderby字段3rowsnpreceding)LEECODE1321餐馆营业额变化增长表:Customer+---------------+---------+|Colum
  • 2024-03-26每日一练:LeeCode-234、回文链表【链表+栈+快慢双指针】
    给你一个单链表的头节点head,请你判断该链表是否为回文链表。如果是,返回true;否则,返回false。示例1:输入:head=[1,2,2,1]输出:true示例2:输入:head=[1,2]输出:false提示:链表中节点数目在范围[1,10^5]内0<=Node.val<=9进阶:你能否用O(n)时间复杂度
  • 2024-03-24每日一练:LeeCode-38、外观数列【字符串】
    给定一个正整数n,输出外观数列的第n项。「外观数列」是一个整数序列,从数字1开始,序列中的每一项都是对前一项的描述。你可以将其视作是由递归公式定义的数字字符串序列:countAndSay(1)="1"countAndSay(n)是对countAndSay(n-1)的描述,然后转换成另一个数字字符串。
  • 2024-03-21Leecode 杨辉三角Ⅱ
    Day7第二题我的思路和上一篇的杨辉三角一致,只不过将List获取层数的代码List.get(0).add()修改成数组classSolution{publicList<Integer>getRow(introwIndex){List<Integer>getRow=newArrayList<Integer>();int[][]dp=newint[ro
  • 2024-03-20Leecode 二叉树的中序遍历
    Day6第三题这是一道让我崩溃的题,因为一个笔误root.right写成了root.left改了好久。classSolution{publicList<Integer>inorderTraversal(TreeNoderoot){List<Integer>listRoot=newArrayList<Integer>();if(root!=null){listRo
  • 2024-03-20Leecode 盛最多的水
    Day6刷题我的思路:利用两层循环,暴力搜索所有组合的面积,找出最大值。importjava.util.*;classSolution{publicintmaxArea(int[]height){//找height和间距intmaxArea=0,iArea;for(intp1=0;p1<height.length-1;p1++){
  • 2024-03-20Leecode 移动零
    Day6刷题我的解题思路:利用双指针,一个指针不断向前移动,表征是否交换完成,另一个指针负责当次交换的位置。classSolution{publicvoidmoveZeroes(int[]nums){//当指针p1指向的元素为0时,将其挪到后面OUT:for(intp1=0;p1<nums.
  • 2024-03-17Leecode 二叉树的前序遍历
    Day2刷题我的思路:用数组list存储遍历结果,利用ArrayList的方法实现嵌套!importjava.util.*;classSolution{//defininganarraylistpublicList<Integer>preorderTraversal(TreeNoderoot){List<Integer>Traversal=newArrayList<>();
  • 2024-03-17Leecode 搜索插入位置
    Day2刷题我的思路:利用二分法解决问题,不过由于情况没有好好分类,以及循环判定条件不合适,会出现超出运行时间的bug。classSolution{publicintsearchInsert(int[]nums,inttarget){intlength=nums.length;intStartIdx=0;intFinal
  • 2024-03-17Leecode 最长公共前缀
    Day1刷题此题没有写出来,仅附上力扣官方代码:classSolution{publicStringlongestCommonPrefix(String[]strs){if(strs==null||strs.length==0){return"";}Stringprefix=strs[0];intcount=strs.length;
  • 2024-03-17Leecode 将罗马数字转换为整型
    Day1刷题我的解题思路利用罗马数字与整型的转换规律,利用哈希表来生成键值对。classSolution{publicintromanToInt(Strings){intsum=0;HashMap<Character,Integer>RomanInt=newHashMap<Character,Integer>();RomanInt.put('I
  • 2024-03-17Leecode 求两数之和
    Day1刷题我的解题思路是按照第一个元素往后排,不重复的找相加的组合,判断是否为target值,时间复杂度较高,为\(\mathcal{O}(n^2)\)。classSolution{publicint[]twoSum(int[]nums,inttarget){intflag=1;while(flag==1){for(in
  • 2024-03-17每日一练:LeeCode-125、验证回文串【字符串+双指针】
    如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个回文串。字母和数字都属于字母数字字符。给你一个字符串s,如果它是回文串,返回true;否则,返回false。示例1:输入:s="Aman,aplan,acana
  • 2024-03-16Leecode Day3
    初始想法也是用双指针,问题在于没有灵活运用与运算(实现求和后结果满足二进制表达形式),未设置加位!(add);多了索引位置i,只需要指针i和j。当前位为空。错误代码如下:学习画图小匠的代码:https://leetcode.cn/problems/add-binary/solutions/2652640/javapython3cwei-yun-suan-s
  • 2024-02-23Leecode知识点
    创建结构体指针:varlist*ListNode=&ListNode(0,head)上面的写法等同于list:=  &ListNode(0,head)要想创建一个链表,首先要创建一个表头num:=new(ListNode)然后将其进行数据赋值以及链接到下一个middle:=num //这里对middle进行修改之
  • 2024-01-25leecode数组
    217.存在重复元素给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。示例1:输入:nums=[1,2,3,1]输出:true示例2:输入:nums=[1,2,3,4]输出:false示例 3:输入:nums=[1,1,1,3,3,4,3,2,4,2]输出:true
  • 2024-01-25leecode链表
    LCR_207题  回文链表给定一个链表的 头节点 head ,请判断其是否为回文链表。如果一个链表是回文,那么链表节点序列从前往后看和从后往前看是相同的。1classSolution{2publicbooleanisPalindrome(ListNodehead){3ListNodep=head;4
  • 2024-01-21动态规划- leecode 122
    Problem:122.买卖股票的最佳时机II目录思路解题方法复杂度Code思路仍然是一道比较简单的动态规划,但是一上手做还是没理清楚状态是什么。一天的状态只有两种,持有股票和没有股票,这样就可以列出状态转移方程\(dp[i][j]=max(dp[i-1][j],dp[i-1][j*]+或-price[i])\),这里的j表
  • 2024-01-20leecode 189. 轮转数组
    Problem:189.轮转数组目录思路解题方法复杂度Code思路vocalO(1)的解法,太强了,完全想不到是咋想到的解题方法三次递归交换,太妙了复杂度时间复杂度:\(O(\frac{3}{2}n)\)空间复杂度:\(O(1)\)CodeclassSolution{public:voidchange(vector<int>&nums,i
  • 2023-11-15leecode(sql)--简单
    2023.11.15175.组合两个表https://leetcode.cn/problems/combine-two-tables/description/代码:selectp.firstName,p.lastName,a.city,a.statefromPersonpleftjoinAddressaona.personId=p.personId181.