#leetCode

LeetCode刷题总结-排序、并查集和图篇

本文介绍LeetCode上有关排序、并查集和图的算法题,推荐刷题总数为15道。具体考点分析如下图:     1.数组问题题号:164.最大间距,难度困难题号:324.摆动排序II,难度中等 2.数学问题题号:179.最大数,难度中等 3.实际场景应用...

LeetCode刷题总结-DFS、BFS和回溯法篇

本文总结LeetCode上有关深度优先搜索(DFS)、广度优先搜索(BFS)和回溯法的算法题,推荐刷题总数为13道。具体考点分析如下图:  1.字符匹配问题题号:301.删除无效的括号,难度困难 2.数组或字符串问题题号:329.矩阵中的最长递增路径,难度困难题号:488.祖玛游戏,难度困...

leetcode 111-二叉树最小深度

  首先,最小深度的定义为根节点到最近叶子节点的深度,  那么,空树的最小深度为0;  左右子树都不存在的节点,最小深度为1;  左右子树不都为空,左右子树中有空树的情况,最小深度一定是在非空树中产生,因为最小深度定义为到最近叶子节点的深度。一旦左右子树有空的情况,这边的深度就可以置为正无穷,表示最小深度不可能再这里产...

LeetCode——两数相加

题目描述:给出两个 非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字0之外,这两个数都不会以0 开头。...
代码星球 ·2021-02-08

LeetCode:11. ContainerWithWater(Medium)

原题链接:https://leetcode.com/problems/container-with-most-water/description/题目要求:给定n个非负整数a1,a2,...,an ,每一个整数对应一个坐标(i,ai )。以(i,0)和(i,ai )为端点画一条线段,现在选...

LeetCode:9. Palindromic Number(Medium)

原题链接:https://leetcode.com/problems/palindrome-number/description/1.题目要求:判断一个int类型整数是否是回文,空间复杂度O(1)2.注意:负数不是回文!!因为前面有负号!注意整数溢出问题。3.思路:依然采用取余取整的方法1packagecom.huiA...

LeetCode:7. Reverse Integer(Easy)

题目要求:将给出的整数进行逆序输出注意:整数的最大范围-2147483648~2147483647,当翻转后的数超出范围后返回0思路:对给出的整数除以10,取余和取整;然后对取整部分继续取余和取整,同时将前一次取余的部分乘10再加上该次取余...直至余数为零1publicclassSolution{23publicst...
代码星球 ·2021-02-08

LeetCode:5. Longest Palindromic Substring(Medium)

原题链接:https://leetcode.com/problems/longest-palindromic-substring/description/1.题目要求:找出字符串中的最大回文子串 2.注意:要考虑回文子串中的字符个数是奇数还是偶数!!!例如,“aabaa”是一个奇数个字符的回文字符串,他的中心...

LeetCode:3.Longest Substring Without Repeating Characters

思路:看到题目首先想到最大字符串匹配KMP算法1publicstaticintlengthOfLongestSubstring(Strings){2intmaxLength=0;3StringBuildersb=newStringBuilder(s);4a:for(inti=0;i<sb.length();i++...

LeetCode: 2.Add Two Numbers

题目要求:给定两个非空的链表,且链表里的元素都是非负整数,对这两个链表里的元素进行相加,返回一个新的链表。Input: (2->4->3)+(5->6->4)Output: 7->0->8思考过程:第二个元素进行相加:4+6=10,只保留了个位上的数,原本进位到十...
代码星球 ·2021-02-08

LeetCode: 1.Two Sum

题目要求:给定一个整型数组,以及一个目标值,求出数组中两个元素之和为目标值的元素下标,以整型数组形式返回1classSolution{2publicint[]twoSum(int[]nums,inttarget){3  for(inti=0;i<nums.length;i++){4  for(intj=i+1;j...
代码星球 ·2021-02-08

leetcode 55,134,376,406,435,452,621

55这题感觉自己犯蠢了 看了下评论恍然大悟、、  publicbooleancanJump(int[]nums){intlen=nums.length;if(len<=1)returntrue;intmaxDis=nums[0];for(inti=1;i<len-1;i++){...
代码星球 ·2021-02-06

leetcode 122,392,455,605,860,874,1005

122    其实更简单的做法是只要是前一个数字比后一个大就相加publicstaticintmaxProfit(int[]prices){intmin=prices[0];intmax=prices[0];inttotal=0;for(inti=1;i<prices.length;i++){...
代码星球 ·2021-02-06

leetcode (堆->hard) 23,218,239,295,407,786

23合并K个升序链表    首先最简单的当然是建个堆往里面加,优点是基本不需要思考。。。publicstaticListNodemergeKLists(ListNode[]lists){PriorityQueue<ListNode>pq=newPriorityQueue<>(...
代码星球 ·2021-02-06

leetcode (堆->中级) 264,313,347,373,378,767,1642,973,1673,743,787

264 原本想的是从1开始遍历,计算每个数是否是丑数,然后用个set存下当前数是否是丑数,后面的数在除以2/3/5如果结果在set里可以找到的话就可以直接取这个结果数作为当前数的计算结果,避免重复运算。结果超时了。。。  然后看了下大佬的思路才知道是用三指针来解,核心思想就是每个丑数都肯定是2,3,5相乘得来...
代码星球 ·2021-02-06
首页上一页...1112131415...下一页尾页