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
剑指offer41
【
剑指
Offer】24,反转链表。 难度等级:简单。链表基础题目,需要巩固加强。
示例:输入:1->2->3->4->5->NULL输出:5->4->3->2->1->NULL2、code题目解析可以参考
剑指
Offer24.反转链表(迭代/递归,清晰图解)#Definitionforsingly-linkedlist
ctrl A_ctrl C_ctrl V
·
2023-06-08 08:54
#
链表
链表
数据结构
【区间】
剑指
Offer II 074. 合并区间
文章目录一、题目1、题目描述2、基础框架3、原题链接二、解题报告1、思路分析2、时间复杂度3、代码详解三、本题小知识一、题目以数组intervals表示若干个区间的集合,其中单个区间为intervals[i]=[starti,endi]。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。示例1:输入:intervals=[[1,3],[2,6],[8,10],[
晓哥的技术客栈
·
2023-06-08 07:53
算法刷题
算法
leetcode
数据结构
【leetcode C语言实现】
剑指
Offer 64.求1+2+...+n
题目描述求1+2+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。示例1:输入:n=3输出:6示例2:输入:n=9输出:45限制:1<=n<=10000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/qiu-12n-lcof解题思路由于题目限制不能使用乘除及一些关键
sunshine_hanxx
·
2023-06-08 06:25
每天一道
剑指
offer-数组中出现次数超过一半的数字
昨天的题解题目每天一道
剑指
offer-数组中出现次数超过一半的数字来源:https://www.nowcoder.com/practice/e8a1b01a2df14cb2b228b30ee6a92163
程序员乔戈里
·
2023-06-07 18:06
力扣---二叉树OJ题(多种题型二叉树)
文章目录前言一、
剑指
Offer55-I.二叉树的深度1.1链接:1.2代码一:1.3代码二:1.4流程图:二、100.相同的树2.1链接:2.2思路:2.3代码:2.4流程图:三、965.单值二叉树3.1
小沈熬夜秃头中୧⍤⃝❅
·
2023-06-07 18:31
力扣---LeetCode刷题
leetcode
算法
数据结构
c语言
流程图
爬楼梯
跳台阶问题(
剑指
Offer)题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
Michaelhbjian
·
2023-06-07 14:55
剑指
offer 笔记 55 | 链表中环的入口结点
题目描述给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。思路分析1、证明链表是否存在环。一开始设置两个指针都指向表头,其中一个每次(一步)前进一个节点的叫p1,另外那个每次(一步)前进两个节点的叫p2。p1和p2同时走,当其中有一个遇到null,就证明链表没有环。如何某个时刻(假设走了n步之后),p1和p2指向的地址相同,那么链表就是有环的。2、接着找到环的入口。此时只需
ProudLin
·
2023-06-07 11:07
剑指
offer打卡
这里写目录标题day1二叉树和为某一路径day2复杂链表的复刻day3二叉搜索树与双向链表day4数字排列day5找出出现次数超过一半的次数day6二进制中1的个数day7二叉树的最近公共祖先day8字符串转换为整数day9构建乘积数组day10不用加减乘除的加法day11求1+2....+nday11股票的最大价值day13扑克牌的顺子day14骰子的点数day15滑动窗口的最大值day1二叉树
甚也不会
·
2023-06-07 10:41
算法
剑指
Offer-删除链表中重复的结点
题目描述[删除链表中重复的结点]在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。例如,链表1->2->3->3->4->4->5处理后为1->2->5解题思路新建一个头节点解决头节点就重复问题三指针去除重复链表,pre,pHead,pHead->next1.遍历链表,如果当前节点和下个节点得值相等,则继续遍历一直到找到不重复得节点为止,并且将pre-
一只可爱的柠檬树
·
2023-06-07 09:35
剑指
Offer 64. 求1+2+…+n
题目:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。示例1:输入:n=3输出:6示例2:输入:n=9输出:45思路:与或门classSolution{public:intsum=0;intnumsum(intn){n>=1&&numsum(n-1);sum=sum+n;returnsum;}};intmain(
yiyakaa
·
2023-06-07 07:21
leetcode
算法
c++
剑指
Offer 58 - I. 翻转单词顺序
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"Iamastudent.“,则输出"student.aamI”。示例1:输入:“theskyisblue”输出:“blueisskythe”示例2:输入:"helloworld!"输出:“world!hello”解释:输入字符串可以在前面或者后面包含多余的空格,但是反转后的
yiyakaa
·
2023-06-07 07:50
leetcode
剑指
Offer58-II.左旋转字符串
题目:字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。示例1:输入:s=“abcdefg”,k=2输出:“cdefgab”示例2:输入:s=“lrloseumgh”,k=6输出:“umghlrlose”思路:https://www.program
yiyakaa
·
2023-06-07 07:50
leetcode
剑指
Offer 40. 最小的k个数
题目:输入整数数组arr,找出其中最小的k个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例1:输入:arr=[3,2,1],k=2输出:[1,2]或者[2,1]示例2:输入:arr=[0,1,2,1],k=1输出:[0]思路:方法一:使用大根堆,首先将前k个元素依次加入到堆中,再将k后边的元素与堆顶比较,如果小于堆顶元素,直接弹出堆顶元素,并让该元素
yiyakaa
·
2023-06-07 07:13
leetcode
算法
数据结构
[
剑指
offer] 二叉树的深度
本文首发于我的个人博客:尾尾部落题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。解题思路法一:递归法。求二叉树的深度,就是求左子树、右子树的中深度最大的加上一个根节点,依此递归即可。法二:层次遍历。每遍历一层,deep加1,直接到最后一层,输出deep。参考代码法一:递归法/**publicclassTreeNode{
繁著
·
2023-06-07 06:23
剑指
Offer 53 - I. 在排序数组中查找数字 I解题思路
文章目录题目解题思路题目统计一个数字在排序数组中出现的次数。示例1:输入:nums=[5,7,7,8,8,10],target=8输出:2示例2:输入:nums=[5,7,7,8,8,10],target=6输出:0提示:0target)break;}returncnt;}}
emsiohw
·
2023-06-07 05:18
LeetCode
算法
数据结构
剑指
Offer 14- I. 剪绳子解题思路
文章目录题目解题思路优化题目给你一根长度为n的绳子,请把绳子剪成整数长度的m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1]…k[m-1]。请问k[0]k[1]…*k[m-1]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。示例1:输入:2输出:1解释:2=1+1,1×1=1示例2:输入:10输出:36解
emsiohw
·
2023-06-07 05:48
LeetCode
算法
c#
leetcode
剑指
Offer 11. 旋转数组的最小数字解题思路
文章目录题目解题思路优化题目把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。给你一个可能存在重复元素值的数组numbers,它原来是一个升序排列的数组,并按上述情形进行了一次旋转。请返回旋转数组的最小元素。例如,数组[3,4,5,1,2]为[1,2,3,4,5]的一次旋转,该数组的最小值为1。注意,数组[a[0],a[1],a[2],…,a[n-1]]旋转一次的结果为数组[a[n
emsiohw
·
2023-06-07 05:47
LeetCode
leetcode
算法
数据结构
剑指
Offer 07. 重建二叉树解题思路
文章目录题目解题思路优化题目输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。示例1:Input:preorder=[3,9,20,15,7],inorder=[9,3,15,20,7]Output:[3,9,20,null,null,15,7]示例2:Input:preorder=[-1],inorder=[-1]Outp
emsiohw
·
2023-06-07 05:17
LeetCode
算法
数据结构
TypeScript算法题实战——
剑指
Offer篇(3)
在本文中,我们将使用TypeScript来解决
剑指
offer的算法题。这些问题涵盖了各种各样的主题,包括数组、字符串、链表、树、排序和搜索等。
中杯可乐多加冰
·
2023-06-07 02:04
TypeScript算法实战
算法
typescript
数据结构
leetcode
javascript
剑指
offer之给定链表的头指针和一个结点指针,在O(1)时间删除该结点
给定链表的头指针和一个结点指针,在O(1)时间删除该结点欢迎关注作者csdn传送门函数的声明如下:voidDeleteNode(ListNode*pListHead,ListNode*pToBeDeleted);分析: 这是一道广为流传的Google面试题,能有效考察我们的编程基本功,还能考察我们的反应速度,更重要的是,还能考察我们对时间复杂度的理解。 在链表中删除一个结点,最常规的做法是从链表
阿祥小王子
·
2023-06-06 23:45
算法解题:单调栈
单调栈的原理就是构造一个栈单调递减栈就是当遍历的数组的元素>栈顶的元素时,出栈然后计算相应的索引一般进栈的都是索引值Leetcode42接雨水package
剑指
offer.栈.单调栈;importjava.util.Stack
你们卷的我睡不着QAQ
·
2023-06-06 21:37
算法
leetcode
java
leetcode算法之并查集
leetcode1971寻找两个节点是否存在路径package
剑指
offer.并查集;importjava.util.Arrays;/***[一句话描述该类的功能]**@author:[61692]*@
你们卷的我睡不着QAQ
·
2023-06-06 21:37
java
剑指
offer T1 整数除法
题目输入两个int型整数,求它们除法的商,要求不得使用乘号’*’、除号’/‘以及求余符号’%’。当发生溢出时返回最大的整数值。假设除数不为0。例如,输入15和2,输出15/2的结果,即7。解题思路:当被除数大于除数时,继续比较判断被除数是否大于除数的2倍,如果是,则继续判断被除数是否大于除数的4倍、8倍等。如果被除数最多大于除数的2k倍,那么将被除数减去除数的2k倍,然后将剩余的被除数重复前面的步
你们卷的我睡不着QAQ
·
2023-06-06 21:07
leetcode
算法
职场和发展
水龙吟 江南遇雪
剑指
中原,气吞吴尾,有垂天志。看明朝料峭,寒鸦数点,向苍烟里。
暴雪迷途
·
2023-05-11 05:37
剑指
offer二叉树的最近公共祖先
给定一个二叉树,找到该树中两个指定节点的最近公共祖先最近公共祖先的定义为:“对于有根树T的两个结点p、q,最近公共祖先表示为一个结点x,满足x是p、q的祖先且x的深度尽可能大(一个节点也可以是它自己的祖先)。”示例一:输入:root=[3,5,1,6,2,0,8,null,null,7,4]p=5q=1输出:3示例二:输入:root=[3,5,1,6,2,0,8,null,null,7,4]p=5
秉麟
·
2023-04-21 21:38
C++笔记
数据结构
c++
算法
数据结构
剑指
Offer 25. 合并两个排序的链表(简单)
输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->3->4,1->2->4输出:1->1->2->3->4->4解题思路:递归法publicListNodemergeTwoLists(ListNodel1,ListNodel2){if(l1==null){returnl2;}if(l2==null){returnl1;}if(l1.val<=l2.val
言的希
·
2023-04-21 14:19
LeetCode
剑指
Offer II 106. 二分图【二分图匹配】中等
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章中,我不仅会讲解多种解题思路及其优化,还会用多种编程语言实现题解,涉及到通用解法时更将归纳总结出相应的算法模板。为了方便在PC上运行调试、分享代码文件
memcpy0
·
2023-04-21 14:22
#
二分图
LeetCode
leetcode
算法
java
剑指
Offer-斐波那契数列
题目描述:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n≤39解题思路:斐波那契数列:f(n)=f(n-1)+f(n-2)Java版:publicclassSolution{int[]f=newint[40];publicSolution(){f[0]=0;f[1]=1;for(inti=2;i
黄sir_
·
2023-04-21 14:28
【LeetCode】
剑指
Offer 63. 股票的最大利润 p304 -- Java Version
题目链接:https://leetcode.cn/problems/gu-piao-de-zui-da-li-run-lcof/1.题目介绍(63.股票的最大利润)假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?【测试用例】:【条件约束】:【相关题目】:注意:本题与主站121.买卖股票的最佳时机题目相同。2.题解2.1一次遍历–O(n)⭐时间复杂度O(n
TomLazy
·
2023-04-21 13:14
#
剑指
Offer(第
2
版)
算法
Medium
Java
第一周01:
剑指
Offer 03. 数组中重复的数字
找出数组中重复的数字在一个长度为n的数组nums里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。classSolution{publicintfindRepeatNumber(int[]nums){intlen=nums.length;for(inti=0;i
夭夭vv
·
2023-04-21 12:19
剑指
Offer 24. 反转链表
目录迭代(双指针)递归题目来源
剑指
Offer24.反转链表迭代(双指针)时间复杂度O(N):遍历链表使用线性大小时间。空间复杂度O(1):变量pre和cur使用常数大小额外空间。
Knight_AL
·
2023-04-21 09:28
西南科技大学算法
链表
数据结构
leetcode
剑指
offer 链表专题
publicListNodemergeTwoLists(ListNodel1,ListNodel2){ListNoderesult=newListNode(3),pre=result;pre.next=l1;returnresult;}}
剑指
驰同学
·
2023-04-21 09:02
二叉搜索树的后序遍历序列——
剑指
offer33
题目描述法一)递归分治解题思路复杂度分析代码如下classSolution{public:boolrecur(vector&postorder,inti,intj){if(i>=j){returntrue;}intp=i;while(postorder[p]postorder[j])p++;returnrecur(postorder,i,m-1)&&recur(postorder,m,j-1)&&
失之毫厘,差之千里
·
2023-04-21 05:39
算法刷题笔记
算法
数据结构
leetcode
《
剑指
offer》Java实现--找出数组中出现次数超过一般的数
题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。解题思路数组中有一个数字出现的次数超过数组长度的一半,也就是说他出现的次数比其他所有数字出现的次数还要多。因此我们可以考虑在遍历数组的时候保存两个值:一个是数组中的一个数字,另一个是次数。当我们遍历到下
南湖Giser
·
2023-04-21 02:05
【LeetCode】Day211-不用加减乘除做加法
题目
剑指
Offer65.不用加减乘除做加法【中等】题解不能用加减乘除的题,要考虑位运算。
倒过来是圈圈
·
2023-04-21 02:27
Leetcode进阶之路
leetcode
算法
力扣刷题2023-04-20-2——题目:
剑指
Offer II 042. 最近请求次数
题目:写一个RecentCounter类来计算特定时间范围内最近的请求。请实现RecentCounter类:RecentCounter()初始化计数器,请求数为0。intping(intt)在时间t添加一个新请求,其中t表示以毫秒为单位的某个时间,并返回过去3000毫秒内发生的所有请求数(包括新请求)。确切地说,返回在[t-3000,t]内发生的请求数。保证每次对ping的调用都使用比之前更大的t
末世灯光
·
2023-04-21 01:56
力扣刷题
python
leetcode
java
算法
小黑昨晚一个人从公司骑回家路上吃了门框卤煮当夜宵,明天开始两天笔试,正在准备放平心态不争高低的leetcode之旅:
剑指
Offer II 109. 开密码锁
小黑代码1classSolution:defopenLock(self,deadends:List[str],target:str)->int:deadends=set(deadends)#起点是终点iftarget=='0000':return0#起点或终点在deadends里iftargetindeadendsor'0000'indeadends:return-1#获得右向拨动defforwa
小黑无敌
·
2023-04-20 22:29
leetcode
算法
python
斐波那契数&&
剑指
Offer II 103. 最少的硬币数目
509.斐波那契数小黑代码:递归法classSolution:#缓存字典map_={}map_[0]=0map_[1]=map_[2]=1deffib(self,n:int)->int:#查找缓存ifself.map_.get(n)!=None:returnself.map_[n]self.map_[n]=self.fib(n-1)+self.fib(n-2)returnself.map_[n]小
小黑无敌
·
2023-04-20 22:55
小黑的日常leetcode之旅
leetcode
面试
算法
小黑昨晚论文又写了1000字,干到了一点,实习任务遇到了一些挑战的leetcode之旅:
剑指
Offer II 052. 展平二叉搜索树&
剑指
Offer II 054. 所有大于等于节点的值之和
剑指
OfferII052.展平二叉搜索树小黑代码#Definitionforabinarytreenode.
小黑无敌
·
2023-04-20 22:23
小黑的日常leetcode之旅
leetcode
深度优先
算法
Leetcode
剑指
offer16不含有重复字符的最长子字符串
Leetcode16不含有重复字符的最长子字符串给定一个字符串s,请你找出其中不含有重复字符的最长连续子字符串的长度。答题:/**\*@param{string}s\*@return{number}*/varlengthOfLongestSubstring=function(s){letqueue=[]letmaxLen=0for(leti=0;i
伯约同学
·
2023-04-20 22:30
投资与生活
图片发自App今天大盘指数
剑指
2800点,究竟何去何从?说实话:我并不关心。为什么这么说?
咖啡屋的喵
·
2023-04-20 15:23
五月二十四 星期五 晴
起手以
剑指
站桩为基,内功为甲子功,行式分外,内各十二式。那日,有一位僧人忽然来到我家。合什问讯,欲借《易筋经》一观。我很是奇怪,《易筋经》存于少林,和尚来借此书,实是情理不通。
陈述衣羊
·
2023-04-20 14:40
【LeetCode】
剑指
Offer 55. 二叉树的深度 p271 -- Java Version
1.题目介绍(55.二叉树的深度)面试题55:二叉树的深度,一共分为两小题:题目一:二叉树的深度题目二:平衡二叉树2.题目1:二叉树的深度题目链接:https://leetcode.cn/problems/er-cha-shu-de-shen-du-lcof/2.1题目介绍输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度
TomLazy
·
2023-04-20 09:11
#
剑指
Offer(第
2
版)
算法
Eazy
Java
LeetCode:
剑指
Offer 58 - II. 左旋转字符串
算法,不如说它是一种思考方式算法专栏:123一、
剑指
Offer58-II.左旋转字符串题目描述:字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。
Super algorithm
·
2023-04-20 09:38
#
Java算法
leetcode
算法
数据结构
java
【
剑指
offer】调整数组顺序使奇数位于偶数前面
✨个人主页:bitme✨当前专栏:算法训练营调整数组顺序使奇数位于偶数前面核心考点:数组操作,排序思想的扩展使用描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。思路:有两种实现方式,第一种是遍历原数组,用两个数组分别存储奇数和偶数,注意顺序不改变,然后进行合并,奇数数组在前
bit me
·
2023-04-20 05:59
算法训练营
算法
数据结构
java
【LeetCode】
剑指
Offer 58. 反转字符串 p284 -- Java Version
1.题目介绍(58.反转字符串)面试题58:翻转字符串,一共分为两小题:题目一:翻转单词顺序题目二:左旋转字符串2.题目1:翻转单词顺序题目链接:https://leetcode.cn/problems/fan-zhuan-dan-ci-shun-xu-lcof/2.1题目介绍输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I
TomLazy
·
2023-04-20 05:32
#
剑指
Offer(第
2
版)
算法
Eazy
Java
剑指
Offer 25. 合并两个排序的链表
输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->2->4,1->3->4输出:1->1->2->3->4->41.迭代classSolution{public:ListNode*mergeTwoLists(ListNode*l1,ListNode*l2){ListNode*prehead=newListNode(-1);ListNode*prev=pr
吴盐煮_
·
2023-04-20 04:01
c++
数据结构
链表
剑指
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(注意,如果两个列表相交则不能为0)。从各自的表头开始算起,链表A为[4,1,8,
吴盐煮_
·
2023-04-20 04:29
链表
数据结构
c++
风语||梦里的陌生人
他们时而甜蜜如情侣;时而争论如冤家;时而陌生如路人;时而
剑指
如仇敌。一个个梦境如幻灯片般在她的脑海中播放,她的情绪也如梦中的发展趋势而波动着,仿佛梦中的“陌生男人”是她尤为重要的人似的。
栀若曦晨
·
2023-04-20 03:48
[力扣刷题总结](排序篇)
非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序算法复杂度:文章目录~~~~归并排序~~~~
剑指
Offer51.数组中的逆序对解法
姬霓钛镁
·
2023-04-19 20:08
数据结构与算法基础
leetcode
排序算法
算法
上一页
62
63
64
65
66
67
68
69
下一页
按字母分类:
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
其他