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-初级算法
LeetCode-
整数反转(7)
题目描述:给你一个32位的有符号整数x,返回将x中的数字部分反转后的结果。如果反转后整数超过32位的有符号整数的范围[−231,231−1],就返回0。假设环境不允许存储64位整数(有符号或无符号)。思路:题目首先要求要对整数进行反转,那么我们可以使用一个while循环即可完成操作,每次循环使用一个变量接收整数模10的运算结果,然后使用一个变量来接收反转的结果,因为我们已经有模10的结果了,那么只
炙热的大叔
·
2024-01-07 13:24
leetcode
算法
Leetcode-
有效的字母异位词C++实现
给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。注意:若s和t中每个字符出现的次数都相同,则称s和t互为字母异位词。哈希表实现:classSolution{public:boolisAnagram(strings,stringt){unordered_mapmap;if(s.size()!=t.size())returnfalse;for(inti=0;i::iteratorit=
Vanderbiol
·
2024-01-07 13:23
leetcode
算法
职场和发展
LeetCode-
有效的字母异位词(242)
题目描述:给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。注意:若s和t中每个字符出现的次数都相同,则称s和t互为字母异位词。思路:这题还是比较简单的,首先将两个字符串转为两个字符数组,之后对两个数组分别排序,最终返回两个数组是否相等的判断结果即可。能这么做是因为s、t异位的话排序之后是相等的,如果不符合异位,那么排序之后是不等的。代码:classSolution{publicbo
炙热的大叔
·
2024-01-07 13:53
leetcode
算法
LeetCode-
最长子序列
/***@authorwx*@description最长子序列*@create2023/12/26**/publicclassLongestConsecutive{publicstaticvoidmain(String[]args){int[]arr=newint[]{100,4,200,1,3,2};intresult=longestConsecutive(arr);System.out.pri
xinCode79
·
2024-01-07 05:42
数据结构和算法
leetcode
java
算法
LeetCode-
杨辉三角公式
杨辉三角公式
xinCode79
·
2024-01-07 05:11
数据结构和算法
leetcode
算法
刷题记录(
初级算法
-字符串篇)
[TOC]反转字符串和vector同样的进行swap交换就可以了classSolution{public:stringreverseString(strings){if(s.size()==0||s.size()==1)returns;intfirst=0,second=s.size()-1;while(first=0;i--){sb.append(string.charAt(i));}retur
MrYun
·
2024-01-06 13:45
leetcode
初级算法
|字符串
反转字符串2021-03-24编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组char[]的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用O(1)的额外空间解决这一问题。你可以假设数组中的所有字符都是ASCII码表中的可打印字符。方法一:切片、reverses.reverse()s=s[::-1]方法二:双指针,对称交换defreverseString(s
renyjenny
·
2024-01-06 11:29
LeetCode-
无重复字符的最长子串(3)
题目描述:给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。代码:classSolution{publicintlengthOfLongestSubstring(Strings){Setocc=newHashSet();intlen=s.length();intrk=0,ans=0;for(inti=0;i
炙热的大叔
·
2024-01-06 00:58
leetcode
算法
除数博弈
++){if(N%i==0){N=N-i;count++;break;}}}if(count%2==1)returntrue;elsereturnfalse;}};运行结果:原题链接:https://
leetcode
WAI_f
·
2024-01-05 10:41
leetcode-
链表
总结:主要是迭代(遍历)和递归。迭代遍历的话一般可能用的多的是双指针,快慢指针,三指针(pre,cur,next)这些,最好画图理清链表节点next域的指向要如何修改,相交链表、环这种问题适合尝试双指针。因为链表的遍历查询只能从头节点一次向后遍历,所以检索的效率不高,这时时间复杂度为O(1)的哈希表可以发挥作用。递归的话则是将问题拆成小问题了,主要时考虑清楚每一个节点是如何处理的,最好也是画图分析
weixin_43852091
·
2024-01-04 23:42
leetcode
链表
leetcode
数据结构
算法(21)-
leetcode-
剑指offer5
leetcode-
剑指offer-443.面试题43-1~n整数中1出现的次数44.面试题44-数字序列中某一位的数字45.面试题45-把数组排成最小的数-快排变种46.面试题46-把数字翻译成字符串47
小陈同学-陈百万
·
2024-01-04 23:11
算法题
【
LeetCode-
剑指offer】-- 24.反转链表
24.反转链表/***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(){}*ListNode(intval){this.val=val;}*ListNode(intval,ListNodenext){this.val=val;this.next=next;}*}*/classS
小d<>
·
2024-01-04 23:10
#
剑指offer
leetcode
算法
【
LeetCode-
剑指offer】-- 21.删除链表的倒数第N个结点
21.删除链表的倒数第N个结点方法:计算链表长度/***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(){}*ListNode(intval){this.val=val;}*ListNode(intval,ListNodenext){this.val=val;this.next
小d<>
·
2024-01-04 23:10
#
剑指offer
leetcode
算法
【
LeetCode-
剑指offer】--19.验证回文串II
19.验证回文串II方法:双指针首先考虑如果不允许删除字符,如何判断一个字符串是否是回文串。常见的做法是使用双指针。定义左右指针,初始时分别指向字符串的第一个字符和最后一个字符,每次判断左右指针指向的字符是否相同,如果不相同,则不是回文串;如果相同,则将左右指针都往中间移动一位,直到左右指针相遇,则字符串是回文串在允许最多删除一个字符的情况下,同样可以使用双指针,通过贪心实现。初始化两个指针low
小d<>
·
2024-01-04 23:40
#
剑指offer
leetcode
算法
【Golang】
LeetCode-
剑指Offer-面试题52-两个链表的第一个公共节点【两种解法】
题目输入两个链表,找出它们的第一个公共节点。公共节点不是指节点的值相同,而是两条链中的节点在同一个内存地址。如下面的两个链表:在节点c1开始相交。示例1:输入:intersectVal=8,listA=[4,1,8,4,5],listB=[5,0,1,8,4,5],skipA=2,skipB=3输出:Referenceofthenodewithvalue=8输入解释:相交节点的值为8(注意,如果两
士多啤梨先生
·
2024-01-04 23:39
LeetCode力扣个人题解
链表
leetcode
go
golang
面试
LeetCode-
剑指 Offer 题目集
19、20、28、33、34、36、37、38、38、43VS44、47、48、53-II、54、55-II、57-II、59-II、63、68-II题号题目题解链接标签备注遍数03数组中重复的数字【
LeetCode
白露塞纳
·
2024-01-04 23:35
单例模式
java
开发语言
leetcode-
剑指 Offer 52. 两个链表的第一个公共节点
leetcode-
剑指Offer52.两个链表的第一个公共节点输入两个链表,找出它们的第一个公共节点。如下面的两个链表:在节点c1开始相交。
ITAK_fans
·
2024-01-04 23:35
剑指offer
链表
指针
LeetCode-
剑指 Offer 52-两个链表的第一个公共节点
剑指Offer52.两个链表的第一个公共节点题目说明输入两个链表,找出它们的第一个公共节点。如下面的两个链表:在节点c1开始相交。示例示例1:输入:intersectVal=8,listA=[4,1,8,4,5],listB=[5,0,1,8,4,5],skipA=2,skipB=3输出:Referenceofthenodewithvalue=8输入解释:相交节点的值为8(注意,如果两个列表相交则
LQZme
·
2024-01-04 23:35
LeetCode
剑指Offer
链表
【
LeetCode-
剑指offer】-- 23.相交链表
23.相交链表方法一:哈希集合/***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(intx){*val=x;*next=null;*}*}*/publicclassSolution{publicListNodegetIntersectionNode(ListNodeheadA
小d<>
·
2024-01-04 23:04
#
剑指offer
leetcode
链表
算法
【
LeetCode-
剑指offer】-- 13.二维区域和检索-矩阵不可变
13.二维区域和检索-矩阵不可变方法:一维前缀和初始化时对矩阵的每一行计算前缀和,检索时对二维区域中的每一行计算子数组和,然后对每一行的子数组和计算总和。具体实现方面,创建m行n+1列的二维数组sums,其中m和n分别是矩阵matrix的行数和列数,sums[i]为matrix[i]的前缀和数组。将sums的列数设为n+1的目的是为了方便计算每一行的子数组和,不需要对col1=0的情况特殊处理。c
小d<>
·
2024-01-04 07:18
#
剑指offer
leetcode
算法
Leetcode-
递归
文章目录q21合并两个有序链表q101对称二叉树q104二叉树的最大深度q226翻转二叉树q236二叉树的最近公共祖先剑指Offer10-I.斐波那契数列剑指Offer10-II.青蛙跳台阶问题q21合并两个有序链表题目传送门题解可以使用递归和迭代两种方法进行求解,两种方法都比较简单。递归:funcmergeTwoLists(l1*ListNode,l2*ListNode)*ListNode{if
jenrain
·
2024-01-04 05:39
LeetCode
leetcode
每天一题
LeetCode-
Longest Substring Without Repeating Characters
Givenastring,findthelengthofthelongestsubstringwithoutrepeatingcharacters.Example1:Input:"abcabcbb"Output:3Explanation:Theansweris"abc",withthelengthof3.Example2:Input:"bbbbb"Output:1Explanation:Thean
autisticBoy
·
2024-01-04 03:56
leetcode-
我的日程安排表 II
实现一个MyCalendar类来存放你的日程安排。如果要添加的时间内不会导致三重预订时,则可以存储这个新的日程安排。MyCalendar有一个book(intstart,intend)方法。它意味着在start到end时间内增加一个日程安排,注意,这里的时间是半开区间,即[start,end),实数x的范围为,startcalendar;Listoverlaps;MyCalendarTwo(){c
程序员小2
·
2024-01-03 19:17
【
LeetCode-
剑指offer】--16.无重复字符的最长子串
16.无重复字符的最长子串方法:滑动窗口classSolution{publicintlengthOfLongestSubstring(Strings){intn=s.length();Setset=newHashSet<>();intl=0,ans=0;for(inti=0;i
小d<>
·
2024-01-03 18:36
#
剑指offer
leetcode
算法
【
LeetCode-
剑指offer】--15.找到字符串中所有字母异位词
15.找到字符串中所有字母异位词方法:滑动窗口classSolution{publicListfindAnagrams(Strings,Stringp){Listans=newArrayListm){returnans;}int[]cnt1=newint[26];int[]cnt2=newint[26];for(inti=0;i
小d<>
·
2024-01-03 18:06
#
剑指offer
leetcode
算法
【
LeetCode-
剑指offer】-- 14.字符串的排列
14.字符串的排列方法:滑动窗口classSolution{publicbooleancheckInclusion(Strings1,Strings2){intm=s1.length(),n=s2.length();if(m>n){returnfalse;}int[]cnt1=newint[26];int[]cnt2=newint[26];for(inti=0;i
小d<>
·
2024-01-03 18:05
#
剑指offer
leetcode
算法
【
LeetCode-
剑指offer】-- 9.乘积小于K的子数组
9.乘积小于K的子数组方法:滑动窗口关于为什么子数组数目为j-1+1。这时候就要理解采用滑动窗口的思路其实是枚举子数组的右端点,然后来找到满足条件的最小左端点。也即当得到满足条件的窗口时,就意味着得到了以j作为右端点时满足条件的左端点的最小值。那么此时满足条件的子数组个数当然就等于窗口能所有能作为左端点的位置个数,即j-i+1。classSolution{publicintnumSubarrayP
小d<>
·
2024-01-03 18:31
#
剑指offer
leetcode
算法
LeetCode-
删除有序数组中的重复项问题
1.删除有序数组中的重复项(26)题目描述:给你一个非严格递增排列的数组nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。元素的相对顺序应该保持一致。然后返回nums中唯一元素的个数。考虑nums的唯一元素的数量为k,你需要做以下事情确保你的题解可以被通过:更改数组nums,使nums的前k个元素包含唯一元素,并按照它们最初在nums中出现的顺序排列。nums的其
炙热的大叔
·
2024-01-03 08:35
leetcode
算法
LeetCode-
轮转数组的三种方法(189)
题目描述:给定一个整数数组nums,将数组中的元素向右轮转k个位置,其中k是非负数。思路一:建立一个两倍原数组长度的数组,然后其中保存两遍原数组中的元素,轮转的过程就可以看成是在这个新数组中截取一个原数组长度的数组的过程,具体点说就是根据轮转关系从新数组中截取旧数组长度个数的元素并将这些元素保存到旧数组中。思路二:写一个逆置数组元素的函数来辅助轮转,首先整个数组进行逆置,然后前后两部分进行逆置,当
炙热的大叔
·
2024-01-03 08:59
leetcode
算法
数据结构
【
leetcode-
数组】四数相加 II
【
leetcode-
数组】四数相加II题目:给定四个包含整数的数组列表A,B,C,D,计算有多少个元组(i,j,k,l),使得A[i]+B[j]+C[k]+D[l]=0。
程序员小2
·
2024-01-02 15:17
LeetCode-
题目详解(一):数组
这里写目录标题1.两数之和【简单】剑指Offer03.数组中重复的数字【简单】45.跳跃游戏II【中等】48.旋转图像15.三数之和【中等】53.最大子数组和【简单】88.合并两个有序数组【简单】54-螺旋矩阵【剑指Offer29.顺时针打印矩阵】剑指OfferII074-合并区间31.下一个排列【中等】118.杨辉三角【简单】16.最接近的三数之和【中等】55.跳跃游戏【中等】283.移动零【简
u013250861
·
2024-01-01 02:19
LeetCode
数组
leetcode-
第69题-x 的平方根
博主并没有什么算法基础,所以写的不好,勿喷,抛砖引玉,欢迎交流,感谢。//实现intsqrt(intx)函数。//计算并返回x的平方根,其中x是非负整数。//由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。//示例1://输入:4//输出:2//示例2://输入:8//输出:2//说明:8的平方根是2.82842...,// 由于返回类型是整数,小数部分将被舍去。//RelatedTo
97牛肉面
·
2023-12-31 11:54
leetcode
算法
java
leetcode
LeetCode-
总结篇-二分查找
motivation写之前的碎碎念,不知不觉已经拿到了Leetcode的3月份刷题打卡徽章(实际上最后几天就已经在注意了哈哈哈)。同时LeetCode刷题系列已经很久没有更新,加上最近看到的一个面试题目,是属于二分查找的思想在做,但是我们平时使用二分查找时却大多数只用在有序数组中特定元素的查找、有序数组等于特定元素的最小索引、或者是有序数组中满足条件的最小值。看起来是比较局限,可能是前人已经把问题
仗剑逐风_SYSU
·
2023-12-29 14:10
leetcode-
字符串中的第一个唯一字符
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回-1。案例:s="leetcode"返回0.s="loveleetcode",返回2.注意事项:您可以假定该字符串只包含小写字母。代码/***@param{string}s*@return{number}*/varfirstUniqChar=function(s){leta={};for(leti=0;i
8239e604d437
·
2023-12-29 08:42
LeetCode-
回文数问题
1.回文数(9)题目描述:给你一个整数x,如果x是一个回文整数,返回true;否则,返回false。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121是回文,而123不是。思路:看到这题首先想到求数的位数,以及使用数组来保留每一位的数字,再从数组两边遍历看数字是否相同。但是这样写出代码后报错,原来是忽略负数不是回文数的问题,添加一个if判断解决,运行通过。代码:classS
炙热的大叔
·
2023-12-28 11:07
leetcode
LeetCode-
移除元素(27)&& 合并两个有序数组(88)
1.移除元素(27)题目描述:给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。提示:0=0&&n>=0){if(nums1[m]=0){nums1[k]=nums2[n];k--;n--;}while(m>=0){
炙热的大叔
·
2023-12-28 11:01
leetcode
算法
数据结构
leetcode官方《
初级算法
》题集(二)字符串
一、给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回-1。1:哈希2:队列我们也可以借助队列找到第一个不重复的字符。队列具有「先进先出」的性质,因此很适合用来找出第一个满足某个条件的元素。具体地,我们使用与方法二相同的哈希映射,并且使用一个额外的队列,按照顺序存储每一个字符以及它们第一次出现的位置。当我们对字符串进行遍历时,设当前遍历到的字符为cc,如果cc不在哈希映
加油11dd23
·
2023-12-26 21:00
LeetCode-
回文链表(234)
题目描述:给你一个单链表的头节点head,请你判断该链表是否为回文链表。如果是,返回true;否则,返回false。因为这一题是受到876题求链表中间节点的启发,所以在这里也加一下。876.链表的中间结点给你单链表的头结点head,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。思路:设置快慢指针,快指针以2为步长,慢指针以1为步长。因为两者是两倍关系,所以当快指针遍历完成
炙热的大叔
·
2023-12-26 05:27
leetcode
链表
算法
LeetCode-
最长回文子串(5)
题目描述:给你一个字符串s,找到s中最长的回文子串。如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。思路:看到这题我就想到要先写一个判断字符串是否为回文串的函数来辅助解题。然后解题的主要思路就是套两层循环得到输入字符串的各种可能子串,判断每个字串是否为回文串,如果是则记录长度,记录子串地址,到下一个字串就将其长度与记录的长度进行比较,如果比记录的长度长,则更新长度并且更新子串地址,这里
炙热的大叔
·
2023-12-26 05:27
leetcode
算法
LeetCode-
环形链表问题
1.环形链表(141)题目描述:给你一个链表的头节点head,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。注意:pos不作为参数进行传递。仅仅是为了标识链表的实际情况。如果链表中存在环,则返回true。否则,返回false。思路:定义快慢指针,快的指
炙热的大叔
·
2023-12-26 05:57
leetcode
链表
算法
LeetCode-
链表-160. 相交链表
160.相交链表思路一:使用set用到了额外的内存,没有达到题目要求/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode(intx):val(x),next(NULL){}*};*/classSolution{public:ListNode*getIntersectionNode(Li
尘埃飞舞
·
2023-12-26 05:27
#
链表问题
链表
leetcode
数据结构
LeetCode-
相交链表(160)
题目描述:给你两个单链表的头节点headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回null。图示两个链表在节点c1开始相交:题目数据保证整个链式结构中不存在环。注意,函数返回结果后,链表必须保持其原始结构。思路:首先使用两个循环求得两个链表的长度,然后相减得到差值,指向长的链表的指针移动差值步,然后和短链表指针同时移动,这里是使用循环实现,当长短指针相
炙热的大叔
·
2023-12-26 05:56
leetcode
链表
算法
LeetCode-
股票问题
LeetCode-
股票问题121.买卖股票的最佳时机难度简单给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第i天的价格。
蒋斌文
·
2023-12-20 22:48
leetcode-
最长连续递增序列
给定一个未经排序的整数数组,找到最长且连续递增的子序列,并返回该序列的长度。连续递增的子序列可以由两个下标l和r(l0&&nums[i]<=nums[i-1]){start=i;}ans=Math.max(ans,i-start+1);}returnans;}}
程序员小2
·
2023-12-20 00:23
LeetCode-
六道股票问题
121.买卖股票的最佳时机122.买卖股票的最佳时机II123.买卖股票的最佳时机III188.买卖股票的最佳时机IV309.最佳买卖股票时机含冷冻期714.买卖股票的最佳时机含手续费参考:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/solution/yi-ge-fang-fa-tuan-mie-6-dao-gu
傅晨明
·
2023-12-19 19:58
Leetcode-
枚举
816.模糊坐标-力扣(LeetCode)我们有一些二维坐标,如"(1,3)"或"(2,0.5)",然后我们移除所有逗号,小数点和空格,得到一个字符串S。返回所有可能的原始字符串到一个列表中。原始的坐标表示法不会存在多余的零,所以不会出现类似于"00","0.0","0.00","1.0","001","00.01"或一些其他更小的数来表示坐标。此外,一个小数点前至少存在一个数,所以也不会出现“.
Kotobuki
·
2023-12-19 03:43
LeetCode-
克服链表不能随机访问的问题
1.重排链表题目描述:给定一个单链表L的头节点head,单链表L表示为:L0→L1→…→Ln-1→Ln请将其重新排列后变为:L0→Ln→L1→Ln-1→L2→Ln-2→…不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。思路:这题一开始我就想着我只想着对链表进行操作,建立两个子链表,一个奇数个节点顺序插入,一个偶数个节点头插逆序,中间节点保存为尾节点进行拼接,这样做真的很麻烦,弄了很久还
炙热的大叔
·
2023-12-18 12:20
leetcode
链表
算法
LeetCode-
删除排序链表中的重复元素问题
1.删除排序链表中的重复元素题目描述:给定一个已排序的链表的头head,删除所有重复的元素,使每个元素只出现一次。返回已排序的链表。思路:因为要删除相同元素,很容易想到定义两个指针pre,cur。cur用来遍历链表,pre用来指向cur前一个元素,如果pre的值和cur的值相等,那么删除cur指向的元素,cur指向下一个节点,如果不相等,cur指向下一个节点,pre指向cur之前指向的节点。通过这
炙热的大叔
·
2023-12-17 03:49
leetcode
链表
算法
LeetCode-
合并有序链表问题
1.合并两个有序链表题目描述:将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。思路:首先建立一个头节点方便后续操作,然后开始循环将两个链表的节点值进行比较,如果list1节点的值较小就将该节点尾插至头节点,并且指向list1的指针向后走一位,指向list2的指针不变。如果list2节点值较小,就将list2节点尾插,指向list2指针向后走一位,指向li
炙热的大叔
·
2023-12-17 03:48
leetcode
链表
算法
LeetCode-
反转链表问题
1.反转链表题目描述:给你单链表的头节点head,请你反转链表,并返回反转后的链表。思路:反转链表也就是链表倒置,我一直以来的办法就是先建立一个头节点,之后再遍历链表来进行头插。代码:classSolution{publicListNodereverseList(ListNodehead){if(head==null){returnnull;}ListNodetemp=newListNode();
炙热的大叔
·
2023-12-17 03:17
leetcode
链表
算法
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他