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
303 区域和检索 - 数组不可变 golang实现
303.区域和检索-数组不可变image.png解题思路典型的前缀和题目根据nums计算前缀和数组,添加辅助位,方便后续操作。(编码注意点见下)计算区间,因为加了辅助位。sum[j+1]=nums[0]+nums[1]+...+nums[j],sum[i]=nums[0]+nums[1]+...+nums[i-1].所以sum[j+1]-sum[i]=nums[i]+...nums[j].为区间和
lucasgao
·
2024-02-11 05:45
基础算法(排序,二分,高精度加减乘除,前缀和与差分,离散化,位运算,
双指针
等)介绍
基础算法文章目录基础算法排序快速排序归并排序二分算法整数二分浮点数二分高精度加减乘除高精度加法高精度减法高精度乘法高精度除法前缀和与差分一维前缀和二维前缀和一维差分二维差分
双指针
算法位运算离散化区间合并代码模板排序快速排序时间复杂度为
赵英英俊
·
2024-02-11 05:02
算法总结
算法
c++
数据结构
Acwing算法基础1——快排 归并 二分 前缀和 差分
双指针
位运算 离散化 区间和
文章目录1、快排----分治2、归并——分治3、二分法4、高精度(C++)5、前缀和(一维、二维)6、差分(一维、二维)7、
双指针
算法8、位运算9、离散化10、区间和流程:1.理解思想,背模板2.刷题目
倩mys
·
2024-02-11 05:31
数据结构与算法
算法
数据结构
java
常用代码模板1——基础算法——排序 二分 高精度 前缀和与差分
双指针
算法 位运算 离散化 区间合并
排序二分高精度前缀和与差分
双指针
算法位运算离散化区间合并快速排序算法模板——模板题AcWing785.快速排序voidquick_sort(intq[],intl,intr){if(l>=r)return
結城
·
2024-02-11 05:31
c++
一、基础算法之排序、二分、高精度、前缀和与差分、
双指针
算法、位运算、离散化、区间合并内容。
1.快速排序算法思想:选择基准元素,比基准元素小的放左边,比基准元素大的放右边。每趟至少一个元素排好。每一趟实现步骤:low>=high,返回,排序完成选取基准元素x=a[low],i=low,j=high当iusingnamespacestd;constintN=100010;intn;intq[N];voidquick_sort(inta[],intlow,inthigh){if(low>=h
樱花的浪漫
·
2024-02-11 05:00
C++与算法题系列
算法
数据结构
LeetCode
153.寻找旋转排序数组中的最小值(官方解题分析)
153.寻找旋转排序数组中的最小值题意分析:由于数组是升序排序旋转形成的,可知数组表现形式为先升序,在降序,在升序,具体表现如下图所示。由图可知,最小值总是小于最后一个值,因此可以通过二分法查找的方法找到最小值。思路分析:1.定义最左值low,最右值high2.中间值有两种情况,2.1在最小值的右边,因此我们可以忽略二分查找区间的右半部分。2.2在最小值的左边,因此我们可以忽略二分查找区间的左半部
blog_wanghao
·
2024-02-11 04:42
C++
leetcode
算法
LeetCode
153
classSolution{public:intfindMin(vector&nums){intn=nums.size();if(n==1){returnnums[0];}if(nums[0]>1;if(nums[mid]>=nums[0]){l=mid+1;}else{r=mid;}}returnnums[l];}};
心瘾こころ
·
2024-02-11 04:42
LeetCode面试经典
c++
leetcode
算法
数据结构
leetcode
24
24.两两链表交换链表中的节点已经给出了链表节点结构类:publicclassListNode{intval;ListNodenext;ListNode(){}ListNode(intval){this.val=val;}ListNode(intval,ListNodenext){this.val=val;this.next=next;}}简而言之,我们对链表结构的改变(节点的增删改),本质上就是
Benaso
·
2024-02-11 04:42
leetcode
leetcode
算法
职场和发展
leetcode
153 二分法,办法不是最优,但是很好理解
153.寻找旋转排序数组中的最小值难度中等748收藏分享切换为英文接收动态反馈已知一个长度为n的数组,预先按照升序排列,经由1到n次旋转后,得到输入数组。例如,原数组nums=[0,1,2,4,5,6,7]在变化后可能得到:若旋转4次,则可以得到[4,5,6,7,0,1,2]若旋转7次,则可以得到[0,1,2,4,5,6,7]注意,数组[a[0],a[1],a[2],...,a[n-1]]旋转一次
风一样的航哥
·
2024-02-11 04:11
C/C++编程序笔记
leetcode
学习
Leetcode
153 154
寻找旋转排序数组中的最小值classSolution{public:intfindMin(vector&nums){intl=0,r=nums.size()-1,ans=-1;while(l&nums){intl=0,r=nums.size()-1;while(lnums[r]){l=mid+1;}elser--;}returnnums[l];}};
henujolly
·
2024-02-11 04:11
leetcode
leetcode
算法
数据结构
leetcode
153, 154 旋转数组最小值问题
第一件要明确的事,咱们要找的元素肯定在右半部分,当然可能不存在左半部分。这样一来,我们希望在二分的时候,如果只有右半部分,也能求出最终解,这就需要我们必须和右端的元素进行比较。如果和左边比较,当我们完全进入右半部分时,指针根本处理不了这种情况。第二件事就是,当mid和r处元素相等时,要r–。这个基本可以当成结论来看了,由于无法判断,只能退化成O(N)。这是一种无奈的妥协。两个题代码分别如下:cla
abant2
·
2024-02-11 04:41
二分查找
LeetCode
153题
publicstaticintfindMin(int[]nums){if(nums.length==1)returnnums[0];if(nums.length==2)returnMath.min(nums[0],nums[1]);if(nums[0]=nums[left]){if(nums[mid]>nums[mid-1]&&nums[mid]>nums[mid+1]){returnnums[m
乌龙茶不是可燃的嘛
·
2024-02-11 04:41
LeetCode
leetcode
算法
leetcode
153
1classSolution:2deffindMin(self,nums:'List[int]')->int:3l=04h=len(nums)-15whilelnums[h]:8l=m+19else:10h=m11returnnums[l]40ms,13.1mb二分查找的变种,感觉怪怪的。相较而言,还是下面的这种更容易理解吧:1classSolution:2deffindMin(self,nums
weixin_34092455
·
2024-02-11 04:41
leetcode
153 154. Find Minimum in Rotated Sorted Array I/II
leetcode
153154.FindMinimuminRotatedSortedArrayI/II从自己的博客转载。
Brave&Young
·
2024-02-11 04:10
题解
leetcode
分治
二分查找
算法---
LeetCode
153. 寻找旋转排序数组中的最小值
1.题目原题链接假设按照升序排序的数组在预先未知的某个点上进行了旋转。(例如,数组[0,1,2,4,5,6,7]可能变为[4,5,6,7,0,1,2])。请找出其中最小的元素。你可以假设数组中不存在重复元素。示例1:输入:[3,4,5,1,2]输出:1示例2:输入:[4,5,6,7,0,1,2]输出:0RelatedTopics数组二分查找26102.题解2.1解法1:二分查找每次比较nums[m
知北行
·
2024-02-11 04:10
算法
算法
数据结构
leetcode
[C++]
Leetcode
153.寻找旋转排序数组中的最小值
153.寻找旋转排序数组中的最小值题目:假设按照升序排序的数组在预先未知的某个点上进行了旋转。(例如,数组[0,1,2,4,5,6,7]可能变为[4,5,6,7,0,1,2])。请找出其中最小的元素。你可以假设数组中不存在重复元素。示例1:输入:[3,4,5,1,2]输出:1示例2:输入:[4,5,6,7,0,1,2]输出:0classSolution{public:intfindMin(vect
Arvin____
·
2024-02-11 04:40
Leetcode刷题
leetcode
算法
c++
Leetcode
153. Find Minimum in Rotated Sorted Array
文章作者:Tyan博客:noahsnail.com|CSDN|简书1.Description2.SolutionclassSolution{public:intfindMin(vector&nums){intleft=0;intright=nums.size()-1;while(left=nums[left]){left=mid+1;}else{right=mid;}}returnnums[lef
SnailTyan
·
2024-02-11 04:10
Leetcode
Leetcode
leetcode
153
153寻找旋转排序数组中的最小值这道题,如果我们熟悉数组api,可以直接用Arrays.sort()秒杀,这个方法使用了双轴快速排序算法。解法1如下:classSolution{publicintfindMin(int[]nums){Arrays.sort(nums);returnnums[0];}}第二种解法看到时间复杂度为O(log^n)我们第一时间应该想到二分查找,classSolution
Benaso
·
2024-02-11 04:09
leetcode
leetcode
算法
排序算法
leetcode
153. 寻找旋转排序数组中的最小值
题目:153.寻找旋转排序数组中的最小值153.寻找旋转排序数组中的最小值难度中等假设按照升序排序的数组在预先未知的某个点上进行了旋转。例如,数组[0,1,2,4,5,6,7]可能变为[4,5,6,7,0,1,2]。请找出其中最小的元素。示例1:输入:nums=[3,4,5,1,2]输出:1示例2:输入:nums=[4,5,6,7,0,1,2]输出:0示例3:输入:nums=[1]输出:1提示:1
编程小耗子
·
2024-02-11 04:09
算法
二分法
算法
数据结构
leetcode
LeetCode
练习day3-树相关
LeetCode
103二叉树的锯齿形层序遍历题目详情给你二叉树的根节点root,返回其节点值的锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。
码农朱同学
·
2024-02-11 03:07
LeetCode
:51.N皇后
典型的回溯法思路:从第一行开始,取第一个列,判断是否可以填Q,可以的话,进入第二层,依次选列,如果可以填Q,则下探到下一层,如果不可以,则回溯。关键:如何判断是否可以填Q,即当前(row,col)是否合法,可以从数学坐标斜率上发现如下规律:row+col=常数副对角线的标识col-row=常数主对角线的标识用三个set集合存储前面填入了Q之后,那些列,主副对角线的特征值注意回溯之后,要对相应的se
大秦隐士
·
2024-02-11 03:55
LeetCode
leetcode
leetcode
:51. N皇后
题目:n皇后问题研究的是如何将n个皇后放置在n×n的棋盘上,并且使皇后彼此之间不能相互攻击。上图为8皇后问题的一种解法。给定一个整数n,返回所有不同的n皇后问题的解决方案。每一种解法包含一个明确的n皇后问题的棋子放置方案,该方案中‘Q’和‘.’分别代表了皇后和空位。示例:输入:4输出:[[".Q…",//解法1“…Q”,“Q…”,“…Q.”],["…Q.",//解法2“Q…”,“…Q”,“.Q…”
暮色恍然
·
2024-02-11 03:55
LeetCode
LeetCode
leetcode
:51.N皇后
起初会想到暴力,但是N不确定,所以不确定for的嵌套层数,所以我们采用回溯算法。树形结构:1.树的深度是第depth层2.树的宽度是对每一行进行遍历代码实现:1.result是三维数组,一个棋盘是二维,N个是三维。2.叶子节点是结果,放入结果集。3.在for循环里已经判断了棋盘是否合法。4.isValid函数判断在该位置是否能够放置皇后
冲冲冲冲冲冲1024
·
2024-02-11 03:25
leetcode
算法
职场和发展
leetcode
:51. N 皇后
51.N皇后来源:力扣(
LeetCode
)链接:https://
leetcode
.cn/problems/n-queens/按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。
uncle_ll
·
2024-02-11 03:25
编程练习-Leetcode
leetcode
八皇后
N皇后
回溯
算法训练
Go语言每日一练——链表篇(八)
传送门牛客面试笔试必刷101题----------------两个链表的第一个公共结点题目以及解析题目解题代码及解析解析这一道题使用的还是
双指针
算法,我们先求出两个链表的长度差n,然后定义快慢指针,让快指针先走
落雨便归尘
·
2024-02-11 01:58
Go语言每日一题
golang
链表
开发语言
数据结构
算法
算法刷题:移动零
移动零.题目链接详解curdesc算法原理答案.题目链接移动零详解题目要求我们要把数组中所有的零都移动到数组的末尾,且要求其余数字顺序不改变.这道题,我们使用到的是
双指针
算法:利用两个指针,将数组分为三个部分
墨溱
·
2024-02-11 00:22
算法
【Py/Java/C++三种语言详解】
LeetCode
每日一题240208【二叉树BFS】
LeetCode
993、二叉树的堂兄弟节点
哈希表储存父节点用以判断是否为堂兄弟pythonjavacpp时空复杂度方法二:在层序遍历中判断是否为同一个父节点pythonjavacpp时空复杂度华为OD算法/大厂面试高频题算法练习冲刺训练题目链接
LeetCode
9
闭着眼睛学算法
·
2024-02-10 23:29
LeetCode
#
BFS
#二叉树
java
c++
leetcode
【Py/Java/C++三种语言OD2023C卷真题】20天拿下华为OD笔试之【
双指针
】2023C-跳房子II【欧弟算法】全网注释最详细分类最全的华为OD真题题解
有华为OD考试扣扣交流群可加:948025485可上全网独家的欧弟OJ系统练习华子OD、大厂真题绿色聊天软件戳od1336了解算法冲刺训练文章目录题目描述与示例题目描述输入描述输出描述备注示例一输入输出说明示例二输入输出示例三输入输出解题思路代码PythonJavaC++时空复杂度华为OD算法/大厂面试高频题算法练习冲刺训练题目描述与示例题目描述跳房子,也叫跳飞机,是一种世界性的儿童游戏。游戏参与
闭着眼睛学算法
·
2024-02-10 23:28
最新华为OD真题
#
双指针
java
c++
华为od
leetcode
python
算法
LeetCode
237.删除链表中的节点
请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表--head=[4,5,1,9],它可以表示为:示例1:输入:head=[4,5,1,9],node=5输出:[4,1,9]解释:给定你链表中值为5的第二个节点,那么在调用了你的函数之后,该链表应变为4->1->9.示例2:输入:head=[4,5,1,9],node=1输出:[4,5,9]解释:
饼干不干
·
2024-02-10 23:23
打 家 劫 舍
打家劫舍
LeetCode
198打家劫舍Ⅰ题目描述你是一个专业的小偷,计划偷窃沿街的房屋。
林小果1
·
2024-02-10 22:00
数据结构与算法(java实现)
算法
java
LeetCode
| 1366. Rank Teams by Votes通过投票对团队排名【Python】
LeetCode
1366.RankTeamsbyVotes通过投票对团队排名【Medium】【Python】【排序】Problem
LeetCode
Inaspecialrankingsystem,eachvotergivesarankfromhighesttolowesttoallteamsparticipatedinthecompetition.Theorderingofteamsisdecide
Wonz
·
2024-02-10 22:36
二叉树
Leetcode
965 单值二叉树
来源:力扣(
LeetCode
)链接:https://
leetcode
-
禾木清清
·
2024-02-10 22:39
LeetCode
面试题 03.04. 化栈为队
题目实现一个MyQueue类,该类用两个栈来实现一个队列。示例:MyQueuequeue=newMyQueue();queue.push(1);queue.push(2);queue.peek();//返回1queue.pop();//返回1queue.empty();//返回false说明:你只能使用标准的栈操作–也就是只有pushtotop,peek/popfromtop,size和isemp
小南家的青蛙
·
2024-02-10 22:21
LeetCode
leetcode
java
[
leetcode
]141. Linked List Cycle
题目Givenalinkedlist,determineifithasacycleinit.Torepresentacycleinthegivenlinkedlist,weuseanintegerposwhichrepresentstheposition(0-indexed)inthelinkedlistwheretailconnectsto.Ifposis-1,thenthereisnocycl
SQUA2E
·
2024-02-10 22:30
Leetcode
第 112 场双周赛题解
Leetcode
第112场双周赛题解
Leetcode
第112场双周赛题解题目1:2839.判断通过操作能否让字符串相等I思路代码复杂度分析题目2:2840.判断通过操作能否让字符串相等II思路代码复杂度分析题目
UestcXiye
·
2024-02-10 20:49
Every
day
a
LeetCode
leetcode
数据结构与算法
C++
哈希
数学
滑动窗口
Leetcode
3019. 按键变更的次数
Everydaya
Leetcode
题目来源:3019.按键变更的次数解法1:
双指针
给你一个下标从0开始的字符串s,该字符串由用户输入。按键变更的定义是:使用与上次使用的按键不同的键。
UestcXiye
·
2024-02-10 20:48
Every
day
a
LeetCode
leetcode
数据结构与算法
C++
双指针
Leetcode
3021. Alice 和 Bob 玩鲜花游戏
Everydaya
Leetcode
题目来源:3021.Alice和Bob玩鲜花游戏解法1:数学Alice和Bob在一个长满鲜花的环形草地玩一个回合制游戏。
UestcXiye
·
2024-02-10 20:48
Every
day
a
LeetCode
数据结构与算法
leetcode
C++
数学
Leetcode
2786. 访问数组中的位置使分数最大
Everydaya
Leetcode
题目来源:2786.访问数组中的位置使分数最大解法1:动态规划状态数组:dp[i][0]:访问下标范围[0,i]中的元素且最后访问的元素是偶数时的最大得分;dp[i][
UestcXiye
·
2024-02-10 20:18
Every
day
a
LeetCode
leetcode
数据结构与算法
C++
动态规划
【
LeetCode
704.二分查找】——二分查找方法汇总
链接:https://
leetcode
.cn/problems/binary-search示例1:输入:nums=[-1,0,3,5,9,12],target=9输出:4解释:9出现在nums中并且下标为
一粒蛋_fc4d
·
2024-02-10 20:07
<
双指针
><入栈出栈> 判断序列是否为正确的出栈序列
一、题目给出一个堆栈的输入序列,试判断一个输出序列是否能够由这个堆栈输出。如果能输出yes,如果不能,输出no。序列的输入及输出都是从左往右。(输入输出序列皆为整数且没有重复的数字,如果一个数字在输入序列中没有出现,那么其在输出序列中也不会出现)【输入形式】第一行为输入序列的长度,其后依次为输入序列的数字;第二行为输出序列的数字。输入数据以空格隔开。【输出形式】如果是一个正确的出栈序列,则输出ye
白8080
·
2024-02-10 20:07
数据结构与算法
数据结构
97. 交错字符串
97.交错字符串题目链接:97.交错字符串代码如下://动态规划跟62不同路径思想类似//参考:https://
leetcode
.cn/problems/interleaving-string/solutions
咔咔咔的
·
2024-02-10 19:51
leetcode
c++
Path Sum (路径和)----(
LeetCode
112+
LeetCode
113+
LeetCode
437)
文章目录(一)
Leetcode
112PathSum1.题意2.示例3.解题思路及代码实现(二)
Leetcode
113PathSumII1.题意2.示例3.解题思路及代码实现(三)
Leetcode
437PathSumIII1
rain_Man2018
·
2024-02-10 19:21
leetcode总结
深度优先搜索
DFS
二叉树
5. 最长回文子串
5.最长回文子串题目链接:5.最长回文子串代码如下://中心扩散法//参考:https://
leetcode
.cn/problems/longest-palindromic-substring/solutions
咔咔咔的
·
2024-02-10 19:21
leetcode
c++
LeetCode
#807 Max Increase to Keep City Skyline 保持城市天际线
807MaxIncreasetoKeepCitySkyline保持城市天际线Description:Thereisacitycomposedofnxnblocks,whereeachblockcontainsasinglebuildingshapedlikeaverticalsquareprism.Youaregivena0-indexednxnintegermatrixgridwheregrid
air_melt
·
2024-02-10 19:41
Leetcode
_15_三数之和_hn
示例示例1:给定数组nums=[-1,0,1,2,-1,-4],满足要求的三元组集合为:[[-1,0,1],[-1,-1,2]]解答方法方法一:排序+
双指针
思路首先对数组进行排序,排序后固定一个数nums
1只特立独行的猪
·
2024-02-10 19:44
力扣(
LeetCode
)第933题 -- 最近的请求次数
草稿:python3题解:classRecentCounter:def__init__(self):self.q=deque()defping(self,t:int)->int:self.q.append(t)whilelen(self.q)>0andt-self.q[0]>3000:self.q.popleft()returnlen(self.q)#YourRecentCounterobject
宇宙核
·
2024-02-10 18:36
leetcode
算法
python
leetcode
--169--多数元素
示例1:输入:[3,2,3]输出:3示例2:输入:[2,2,1,1,1,2,2]输出:2链接:https://
leetcode
-cn.com/problems/majority-element思路1:1
minningl
·
2024-02-10 18:02
2019-01-21
205.IsomorphicStrings.jpg
LeetCode
205.IsomorphicStringsDescriptionGiventwostringssandt,determineiftheyareisomorphic.Twostringsareisomorphicifthecharactersinscanbereplacedtogett.Alloccurrencesofacharact
ruicore
·
2024-02-10 18:25
leetcode
环形链表 II
142.环形链表II给定一个链表的头节点head,返回链表开始入环的第一个节点。如果链表无环,则返回null。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。如果pos是-1,则在该链表中没有环。注意:pos不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改链表。
来深圳
·
2024-02-10 18:46
#
leetcode
链表
leetcode
leetcode
环形链表
141.环形链表解法一:哈希表funchasCycle(head*ListNode)bool{set:=map[*ListNode]bool{}cur:=headforcur!=nil{ifhas:=set[cur];has{returntrue}else{set[cur]=true}cur=cur.Next}returnfalse}解法二:快慢指针若链表为空或者链表只有一个节点,说明链表无环,返
来深圳
·
2024-02-10 18:15
#
leetcode
#
Go语言
链表
leetcode
上一页
30
31
32
33
34
35
36
37
下一页
按字母分类:
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
其他