E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
leetcode-java
Leetcode-Java
(十六)
152.MaximumProductSubarray这道题看了讨论之后发现了一个很巧妙的解法,使用了两个变量imax,imin,当遇到数组中的负数时,交换两个数的位置。classSolution{publicintmaxProduct(int[]nums){if(nums==null||nums.length==0)return0;intres=nums[0];intimax=nums[0];in
文哥的学习日记
·
2024-02-15 01:45
有效括号-面试算法
leetcode-java
给定一个只包括'(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:1、左括号必须用相同类型的右括号闭合。2、左括号必须以正确的顺序闭合。3、注意空字符串可被认为是有效字符串。示例1:输入:"()[]{}"输出:true示例2:输入:"(]"输出:false示例3:输入:"{[]}"输出:true这道题有两种解法:首先根据题目要求,顺序闭合,如果这是个有效的
扎克begod
·
2023-10-21 19:16
LeetCode
有效括号
java
面试
笔试
算法
[
LeetCode-Java
] 114.二叉树展开为链表
114二叉树展开为链表题目给定一个二叉树,原地将它展开为一个单链表。例如,给定二叉树1/\25/\\346将其展开为:1\2\3\4\5\6代码(前序遍历)/***Definitionforabinarytreenode.*publicclassTreeNode{*intval;*TreeNodeleft;*TreeNoderight;*TreeNode(){}*TreeNode(intval){
GxDong_
·
2023-10-04 20:41
LeetCode
leetcode-java
买卖股票的最佳时机 IV
买卖股票的最佳时机IV同类题目解法与通用框架买卖股票的最佳时机买卖股票的最佳时机II买卖股票的最佳时机III最佳买卖股票时机含冷冻期买卖股票的最佳时机含手续费买卖股票的最佳时机通用框架题目描述:给定一个数组,它的第i个元素是一支给定的股票在第i天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成k笔交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例1:输入:
求与修
·
2023-08-28 20:46
java
leetcode
动态规划
leetcode
java
买卖股票的最佳时机
IV
leetcode-java
买卖股票的最佳时机III
买卖股票的最佳时机III题目描述:给定一个数组,它的第i个元素是一支给定的股票在第i天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成两笔交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例1:输入:[3,3,5,0,0,3,1,4]输出:6解释:在第4天(股票价格=0)的时候买入,在第6天(股票价格=3)的时候卖出,这笔交易所能获得利润=3-0=3。随后,
求与修
·
2023-08-28 20:45
动态规划
leetcode
java
leetcode
java
买卖股票的最佳时机III
动态规划
Leetcode-Java
(二十二)
211.AddandSearchWord-Datastructuredesign建立一棵字典树,特别注意.的情况。publicclassWordDictionary{publicclassTrieNode{publicTrieNode[]children=newTrieNode[26];publicStringitem="";}privateTrieNoderoot=newTrieNode();p
文哥的学习日记
·
2023-08-22 22:53
LeetCode-Java
(05)
19.删除链表的倒数第N个结点两个方法,方法一是先走一遍链表得出链表长度,再走第二遍,找到倒数第n个数。方法二是双指针,首先快指针就比慢指针多走n步,然后这俩指针同步走,快指针走到头了,慢指针也就指向目标节点了。方法一:classSolution{publicListNoderemoveNthFromEnd(ListNodehead,intn){ListNodedummy=newListNode(
joyboysimba
·
2023-08-06 13:27
LeetCode刷题
leetcode
java
算法
LeetCode-Java
(04)
15.三数之和固定第一个数,从后面找第二个和的三个数的和等于第一个数,转化为两数之和问题。比target大,则l--,否则r++,直到找到三个数classSolution{publicList>threeSum(int[]nums){List>res=newArrayList0&&nums[i]==nums[i-1])continue;intlow=i+1;inthigh=nums.length-
joyboysimba
·
2023-08-06 13:27
LeetCode刷题
java
开发语言
算法
LeetCode-Java
(06)
24.两两交换链表中的节点非递归解法classSolution{publicListNodeswapPairs(ListNodehead){ListNodepre=newListNode(0);pre.next=head;ListNodetemp=pre;while(temp.next!=null&&temp.next.next!=null){ListNodestart=temp.next;Lis
joyboysimba
·
2023-08-06 13:25
LeetCode刷题
java
开发语言
算法
leetcode
LeetCode-Java
(03)
9.回文数classSolution{publicbooleanisPalindrome(intx){if(xrevertedNumber){revertedNumber=revertedNumber*10+x%10;x/=10;}//当长度为奇数时通过revertedNumber/10去除处于中位的数字。returnx==revertedNumber||x==revertedNumber/10;
joyboysimba
·
2023-08-06 07:13
LeetCode刷题
leetcode
java
算法
Leetcode-java
目录其他难题33、搜索旋转排序数组5、最长回文子串递归最大公约数二叉搜索树的范围和938递归乘法面试题08.05二叉搜索树节点的最小距离783最长同值路径68720200722数值的整数次方动态规划礼物的最大价值最小路径和三角形最小路径和买卖一次股票的最大利润机器人路径问题有障碍物的机器人路径问题完全平方数剪绳子最长上升子序列判断子序列回溯全排列46全排列II47分割回文串字符串生成括号生成子集7
今天不吃方便面
·
2023-07-23 23:46
java基础学习
Leetcode
面试
Leetcode-Java
(五)
41.FirstMissingPositiveclassSolution{publicintfirstMissingPositive(int[]nums){intI=0;while(i0&&nums[i]=0;j--){right_max[j]=Math.max(height[j],right_max[j+1]);}intans=0;for(inti=0;istack=newStack();whi
文哥的学习日记
·
2023-06-22 01:43
Leetcode-Java
(二十五)
241.DifferentWaystoAddParentheses采用分治算法,分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同,求出子问题的解,就可得到原问题的解。那么针对本题,以操作符为分界,将字符串分解为较小的两个子字符串,然后依次对两个子字符串进行同样的划分,直到字符串中只含有数字。再根据操作符对两端的数字进行相应的运算。同时,为了避
文哥的学习日记
·
2023-04-20 04:14
LeetCode-java
371.两整数之和(简单)
题371:类型:位运算题目:不使用运算符+和-,计算两整数a、b之和。示例1:输入:a=1,b=2输出:3示例2:输入:a=-2,b=3输出:1解题步骤1、相加各位的值,不算进位,二进制每位相加就相当于做异或操作,可称为二进制的无进位加法;2、计算进位值,相当于进行与操作,之后再向左移一位;3、重复上述两步:进位值为0,跳出循环,即a为最终的求和结果。classSolution{publicint
一个深入人心的名字
·
2023-04-16 22:14
LeetCode-java
946.验证栈序列(中等)
题946:类型:栈题目:给定pushed和popped两个序列,每个序列中的值都不重复,只有当它们可能是在最初空栈上进行的推入push和弹出pop操作序列的结果时,返回true;否则,返回false。示例1:输入:pushed=[1,2,3,4,5],popped=[4,5,3,2,1]输出:true解释:我们可以按以下顺序执行:push(1),push(2),push(3),push(4),po
一个深入人心的名字
·
2023-04-16 11:19
单链表判断回文串(快慢指针)
https://github.com/andavid/
leetcode-java
/blob/master/note/234/README.md我是从这个地方看到的代码,然后自己仔细分析之后与大家共享。
Boger_8cf1
·
2023-04-13 04:11
Leetcode-Java
(二十一)
201.BitwiseANDofNumbersRange这里的思想是只看m和n两个数,如果m和n前面有几位相同的话,那么他们中间的数和他们的前几位一定也会相同。classSolution{publicintrangeBitwiseAnd(intm,intn){if(m==0)return0;intmoveFactor=1;while(m!=n){m>>=1;n>>=1;moveFactorset=
文哥的学习日记
·
2023-04-11 18:12
LeetCode-java
1021.删除最外层括号(简单)
题1021:类型:栈题目:有效括号字符串为空("")、"("+A+")"或A+B,其中A和B都是有效的括号字符串,+代表字符串的连接。例如,"","()","(())()"和"(()(()))"都是有效的括号字符串。如果有效字符串S非空,且不存在将其拆分为S=A+B的方法,我们称其为原语,其中A和B都是非空有效括号字符串。给出一个非空有效字符串S,考虑将其进行原语化分解,使得:S=P_1+P_2+
一个深入人心的名字
·
2023-04-06 16:03
Leetcode-Java
(十)
92.ReverseLinkedListII/***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(intx){val=x;}*}*/classSolution{publicListNodereverseBetween(ListNodehead,intm,intn){ListNo
文哥的学习日记
·
2023-04-04 21:03
LeetCode-java
190.颠倒二进制位(简单)
题190:类型:位运算题目:颠倒给定的32位无符号整数的二进制位。示例1:输入:00000010100101000001111010011100输出:00111001011110000010100101000000解释:输入的二进制串00000010100101000001111010011100表示无符号整数43261596,因此返回964176192,其二进制表示形式为001110010111
一个深入人心的名字
·
2023-03-24 01:22
Leetcode-Java
(一)
1、TwoSum用hashMap保存,用数值做key,用索引做valueclassSolution{publicint[]twoSum(int[]nums,inttarget){HashMapmap=newHashMap();int[]res=newint[2];for(inti=0;i0){ListNodenext=newListNode(more);p.next=next;}returndum
文哥的学习日记
·
2022-02-21 08:08
Leetcode-Java
(十五)
141.LinkedListCycle快慢指针相结合,当快指针追上慢指针时,即存在环。/***Definitionforsingly-linkedlist.*classListNode{*intval;*ListNodenext;*ListNode(intx){*val=x;*next=null;*}*}*/publicclassSolution{publicbooleanhasCycle(Lis
文哥的学习日记
·
2021-06-26 08:49
Leetcode-Java
(二十八)
278.FirstBadVersion二分查找的思路/*TheisBadVersionAPIisdefinedintheparentclassVersionControl.booleanisBadVersion(intversion);*/publicclassSolutionextendsVersionControl{publicintfirstBadVersion(intn){intleft=
文哥的学习日记
·
2021-06-04 04:25
leetcode 100
github个人所有的leetcode题解,都在我的
leetcode-java
,欢迎star和共同探讨。
jsy_hello
·
2021-06-03 23:45
LeetCode-java
67.二进制求和(简单)
题67:类型:字符串、数学题目:给你两个二进制字符串,返回它们的和(用二进制表示)。输入为非空字符串且只包含数字1和0。示例1:输入:a="11",b="1"--->输出:"100"示例2:输入:a="1010",b="1011"--->输出:"10101"提示:1、每个字符串仅由字符'0'或'1'组成。2、1int?carry+=i
一个深入人心的名字
·
2020-11-24 15:38
LeetCode-java
7.整数反转(简单)
题7:类型:数组、数学题目:给出一个32位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入:123-->输出:321示例2:输入:-123-->输出:-321示例3:输入:120-->输出:21注意:假设我们的环境只能存储得下32位的有符号整数,则其数值范围为[−231,231−1]。请根据这个假设,如果反转后整数溢出那么就返回0。方法一、暴力解法将整数转为字符串,再转为字符串数
一个深入人心的名字
·
2020-11-23 11:54
LeetCode-java
191.位1的个数(简单)
类型:位运算题目:编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为'1'的个数(也被称为[汉明重量])。示例1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串00000000000000000000000000001011中,共有三位为'1'。示例2:输入:00000000000000000000000010
一个深入人心的名字
·
2020-11-23 11:17
【
LeetCode-Java
实现】322. Coin Change
322.CoinChange题目描述解题思路实现代码题目描述Youaregivencoinsofdifferentdenominationsandatotalamountofmoneyamount.Writeafunctiontocomputethefewestnumberofcoinsthatyouneedtomakeupthatamount.Ifthatamountofmoneycannotb
IT Crowd
·
2020-09-15 04:21
LeetCode
动态规划
leetcode-java
删除链表的倒数第N个节点
删除链表的倒数第N个节点删除链表中的节点题目描述:237.删除链表中的节点请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表--head=[4,5,1,9],它可以表示为:4->5->1->9示例1:输入:head=[4,5,1,9],node=5输出:[4,1,9]解释:给定你链表中值为5的第二个节点,那么在调用了你的函数之后,该链表应变为4-
宝宝辉AD
·
2020-09-12 20:55
java
leetcode
数据结构与算法
leetcode
java
删除链表的倒数第N个节点
leetcode-java
环形链表 II
环形链表II题目描述:给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null。为了表示给定链表中的环,我们使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。如果pos是-1,则在该链表中没有环说明:不允许修改给定的链表。示例1:输入:head=[3,2,0,-4],pos=1输出:tailconnectstonodeindex1解释:链表中有一个环,其尾部连接到第二个
宝宝辉AD
·
2020-09-12 13:32
leetcode
java
42.丑数-
LeetCode-Java
编写一个程序判断给定的数是否为丑数。丑数就是只包含质因数2,3,5的正整数。示例1:输入:6输出:true解释:6=2×3示例2:输入:8输出:true解释:8=2×2×2示例3:输入:14输出:false解释:14不是丑数,因为它包含了另外一个质因数7。说明:1是丑数。输入不会超过32位有符号整数的范围:[−2^31,2^31−1]。/***方法一:循环整除后看结果是否是2,3,5*/class
知之为知
·
2020-09-12 04:13
LeetCode-Java
LeetCode
[
LeetCode-Java
] 66.加一
66加一题目给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位,数组中每个元素只存储单个数字。你可以假设除了整数0之外,这个整数不会以零开头。示例1:输入:[1,2,3]输出:[1,2,4]解释:输入数组表示数字123。示例2:输入:[4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字4321。代码classSolution{publicint
GxDong_
·
2020-09-11 23:38
LeetCode
[
LeetCode-JAVA
] The Skyline Problem
题目:题目太长了,见链接-->TheSkylineProblemNotes:Thenumberofbuildingsinanyinputlistisguaranteedtobeintherange[0,10000].TheinputlistisalreadysortedinascendingorderbytheleftxpositionLi.Theoutputlistmustbesortedbyt
weixin_30387663
·
2020-08-25 05:54
Leetcode-Java
(十二)
111.MinimumDepthofBinaryTree这道题看上去很简单,求的是到叶子节点最短路径的节点的个数,其实并不是,当一个节点只有一个子节点的时候,如果按照求路径长度的求解方式的话,得到的长度会是1,因为有一边是0。但此时并不是到达了叶子节点。因此对于只有一个叶子节点的情况,我们要让这一边的长度变为一个很大的数,确保我们返回的是另一个叶子节点的路径长度。/***Definitionfor
文哥的学习日记
·
2020-08-24 09:01
【
LeetCode-Java
实现】50. Pow(x, n)求x的n次幂
50.Pow(x,n)求x的n次幂题目描述思路实现题目描述Implementpow(x,n),whichcalculatesxraisedtothepowern(xn).Example1:Input:2.00000,10Output:1024.00000Example2:Input:2.10000,3Output:9.26100Example3:Input:2.00000,-2Output:0.2
IT Crowd
·
2020-08-24 05:17
LeetCode
Leetcode-java
实现-002(链表相加)
题目:给定两个非空链表来代表两个非负整数,位数按照逆序方式存储,它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。你可以假设除了数字0之外,这两个数字都不会以零开头。示例:输入:(2->4->3)+(5->6->4)输出:7->0->8原因:342+465=807/***Definitionforsingly-linkedlist.*publicclassListNode{*intva
耶耶耶曵
·
2020-08-24 01:37
Leetcode-Java
(二)
11.ContainerWithMostWater这道题不是说是两根线中间所有线中的最小值决定面积,而是仅仅根据左右两根线中的最小值决定面积,所以用两个指针,一个从左一个从右来遍历数组,每次更新最小值即可。classSolution{publicintmaxArea(int[]height){intmaxHeight=0;intleft=0;intright=height.length-1;whi
文哥的学习日记
·
2020-08-21 22:17
[
LeetCode-Java
]9. Palindrome Number
Determinewhetheranintegerisapalindrome.Dothiswithoutextraspace.解:分离相对应的两位进行比较,不过大量数学计算比较耗时。publicbooleanisPalindrome(intx){booleanisPalindrome=true;intlength=1;inta=0,b=0;if(x<0){isPalindrome=false;}e
如故1994
·
2020-08-21 15:30
LeetCode
[
LeetCode-Java
]43. Multiply Strings
Giventwonumbersrepresentedasstrings,returnmultiplicationofthenumbersasastring.Note:Thenumberscanbearbitrarilylargeandarenon-negative.ConvertingtheinputstringtointegerisNOTallowed.YoushouldNOTuseintern
如故1994
·
2020-08-21 01:37
LeetCode
leetcode
java
leetcode-java
加一
加一题目描述:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位,数组中每个元素只存储一个数字。你可以假设除了整数0之外,这个整数不会以零开头。示例1:输入:[1,2,3]输出:[1,2,4]解释:输入数组表示数字123。示例2:输入:[4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字4321。题目分析:这道题的重点应该就是进位的转移,要把进
宝宝辉AD
·
2020-08-19 19:59
leetcode
java
python
跳跃游戏(Jump Game)
leetcode-java
https://blog.csdn.net/zhangjingao/article/details/83713766跳跃游戏(JumpGame)
leetcode-java
题干给定一个非负整数数组,你最初位于数组的第一个位置
下雨了_简
·
2020-08-18 07:49
leetcode
leetcode题解
19.合并两个有序数组-
LeetCode-Java
给你两个有序整数数组nums1和nums2,请你将nums2合并到nums1中,使nums1成为一个有序数组。说明:初始化nums1和nums2的元素数量分别为m和n。你可以假设nums1有足够的空间(空间大小大于或等于m+n)来保存nums2中的元素。示例:输入:nums1=[1,2,3,0,0,0],m=3nums2=[2,5,6],n=3输出:[1,2,2,3,5,6]/***插入排序:1.
知之为知
·
2020-08-17 17:22
LeetCode-Java
30.最小栈-
LeetCode-Java
设计一个支持push,pop,top操作,并能在常数时间内检索到最小元素的栈。push(x)——将元素x推入栈中。pop()——删除栈顶的元素。top()——获取栈顶元素。getMin()——检索栈中的最小元素。示例:输入:["MinStack","push","push","push","getMin","pop","top","getMin"][[],[-2],[0],[-3],[],[],[
知之为知
·
2020-08-16 09:11
LeetCode-Java
leetcode-java
相交链表
相交链表题目描述:编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点c1开始相交。示例1:输入:intersectVal=8,listA=[4,1,8,4,5],listB=[5,0,1,8,4,5],skipA=2,skipB=3输出:Referenceofthenodewithvalue=8输入解释:相交节点的值为8(注意,如果两个列表相交则不能为0)。从各自的表头开始算起,
宝宝辉AD
·
2020-08-14 19:29
leetcode
java
leetcode-java
只出现一次的数字
只出现一次的数字题目描述:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。你可以不使用额外空间来实现吗?示例1:输入:[2,2,1]输出:1示例2:输入:[4,1,2,1,2]输出:4问题分析:只出现一次的数字,这个基础是建立在其余每个元素均出现两次的基础上。两种方法:第一种:新建立一个数组,用来存储出现数
宝宝辉AD
·
2020-08-14 19:29
java
leetcode
【
LeetCode-Java
实现】120.Triangle
120.Triangle题目描述思路实现代码题目描述Givenatriangle,findtheminimumpathsumfromtoptobottom.Eachstepyoumaymovetoadjacentnumbersontherowbelow.Example,giventhefollowingtriangle[-----[2],-----[3,4],—[6,5,7],—[4,1,8,3]
IT Crowd
·
2020-07-15 21:44
LeetCode
动态规划
16.二进制求和-
LeetCode-Java
给你两个二进制字符串,返回它们的和(用二进制表示)。输入为非空字符串且只包含数字1和0。示例1:输入:a="11",b="1"输出:"100"示例2:输入:a="1010",b="1011"输出:"10101"执行用时:8ms,在所有Java提交中击败了12.49%的用户内存消耗:39.7MB,在所有Java提交中击败了7.69%的用户*二进制加法十进制加法*步骤:1.反转2.短的补齐位数3.计算
知之为知
·
2020-07-13 20:16
LeetCode-Java
算法 : leetcode 买卖股票
参考:
leetcode-java
买卖股票的最佳时机单次交易packagestock;/***买卖股票的最佳时机I:单次交易*假设有一个数组,它的第i个元素是一支给定的股票在第i天的价格。
Mars-xq
·
2020-07-13 13:16
leetcode-java
题解(每天更新)
说明:选用java,重在体会,性能不是最优。欢迎转载:http://www.ming-yue.cn/leetcode-java-solutions/。先给出一个leetcode的已有答案,为什么上来直接给出答案,因为这个好多答案写的都非常简洁,不太易懂,还是建议先自己做,答案只是参考http://www.ninechapter.com/solutions/。1,https://leetcode.c
summerhai
·
2020-07-13 08:10
leetcode
【
LeetCode-java
实现】56. Merge Intervals合并区间
56.MergeIntervals合并区间题目描述思路实现题目描述Givenacollectionofintervals,mergealloverlappingintervals.Example1:Input:[[1,3],[2,6],[8,10],[15,18]]Output:[[1,6],[8,10],[15,18]]Explanation:Sinceintervals[1,3]and[2,6
IT Crowd
·
2020-07-13 03:06
LeetCode
上一页
1
2
3
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他