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
leecode刷题笔记
LeetCode高频题
刷题笔记
(三)栈
基础知识栈(stack)是一种常见的严格限制处理顺序的线性表数据结构,遵循LIFO后进先出原则。5个基本操作:push()、top()、pop()、empty()、size()top:返回栈顶不删除栈的使用场景有:函数调用时的上下文管理深度优先搜索DFS题目1.有效的括号(LeetCode20)难度:简单题目表述:给定一个只包括‘(’,‘)’,‘{’,‘}’,‘[’,‘]’的字符串s,判断字符串是
123冲鸭
·
2023-11-27 08:51
LeetCode刷题专栏
leetcode
深度优先
算法
【
刷题笔记
】接雨水||暴力通过||符合思维方式
接雨水文章目录接雨水1题目描述2分析2.1左到右2.2右到左2.3计算面积3代码3.1Java3.2Python附录11题目描述https://leetcode.cn/problems/trapping-rain-water/面试的时候关键不是你的手法多么精妙,首先要做出来。给定n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。输入:height=[0,1,0,
han1254
·
2023-11-27 08:47
算法
笔记
算法
数组
leetcode
刷题笔记
(Golang)--198. House Robber
198.HouseRobberYouareaprofessionalrobberplanningtorobhousesalongastreet.Eachhousehasacertainamountofmoneystashed,theonlyconstraintstoppingyoufromrobbingeachofthemisthatadjacenthouseshavesecuritysystem
圆滚滚coder
·
2023-11-26 22:01
leetcode
算法
go
动态规划
刷题笔记
leetcode 35.搜索插入位置(简单)
题目给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为O(logn)的算法。示例1:输入:nums=[1,3,5,6],target=5输出:2示例2:输入:nums=[1,3,5,6],target=2输出:1示例3:输入:nums=[1,3,5,6],target=7输出:4提示:1<=nums.len
taotaoxianzi
·
2023-11-26 21:04
leetcode
leetcode
数据结构
算法
Leetcode
刷题笔记
(c++)_热题 HOT 100_236. 二叉树的最近公共祖先
递归classSolution{public:TreeNode*out;booldfs(TreeNode*root,TreeNode*p,TreeNode*q){if(!root)return0;boolleft=dfs(root->left,p,q);boolright=dfs(root->right,p,q);if((left&&right)||((root->val==p->val||roo
大风吹~~~~~
·
2023-11-26 20:47
leetcode
c++
深度优先
05 长度最小的子数组(
leecode
209)
1问题给定一个含有n个正整数的数组和一个正整数s,找出该数组中满足其和≥s的长度最小的连续子数组,并返回其长度。如果不存在符合条件的子数组,返回0。示例:输入:s=7,nums=[2,3,1,2,4,3]输出:2解释:子数组[4,3]是该条件下的长度最小的子数组。2解法滑动窗口:通过不断的调节子序列的起始位置和终止位置,从而得出我们要想的结果。在本题中实现滑动窗口,主要确定如下三点:窗口内是什么?
aolaf
·
2023-11-26 20:07
#
数据结构与算法01-数组
算法
数据结构
【C++】类和对象(下)
樊梓慕:个人主页个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode
刷题笔记
》《实训项目》《C++》每一个不曾起舞的日子,都是对生命的辜负目录前言1.初始化列表1.1引入1.2初始化列表1.3explicit
樊梓慕
·
2023-11-26 12:07
C++
c++
开发语言
c语言
学习
【C++】内存管理(new与delete)
樊梓慕:个人主页个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode
刷题笔记
》《实训项目》《C++》每一个不曾起舞的日子,都是对生命的辜负前言本篇文章我们一起来学习C++的内存管理方式,实际上
樊梓慕
·
2023-11-26 12:07
C++
c++
开发语言
学习
【Linux】权限
樊梓慕:个人主页个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode
刷题笔记
》《实训项目》《C++》《Linux》每一个不曾起舞的日子,都是对生命的辜负目录前言1.Linux权限的概念1.1
樊梓慕
·
2023-11-26 12:03
Linux
linux
运维
服务器
学习
移除元素(java)
Leecode
解题思路:利用快慢指针的技巧。slow指针记录更新后数组的元素个数。classSolution{publicintremoveElement(int[]nums,intval){intfast=0,slow=0;while(fast
Steven迪文
·
2023-11-26 09:21
leecode
leetcode
排序算法
数据结构
数组
LeeCode
刷题 | 704. 二分查找、27. 移除元素
Leetcode704-二分查找(方法一)左闭右闭区间Java:classSolution{publicintsearch(int[]nums,inttarget){//避免当target小于nums[0]nums[nums.length-1]时多次循环运算if(targetnums[nums.length-1]){return-1;}intleft=0,right=nums.length-1;w
码农小宇宙
·
2023-11-26 09:51
算法
leetcode
数据结构
java
golang
5.5
leecode
刷题记录(
leecode
704.二分查找,
leecode
.27移除元素)
leeocde704.二分查找二分查找对于数组题目来说是比较基础的题目了。切记二分查找有两个前提才可以进行二分查找,一是数组中不能有重复元素,二是数组中的是升序排列的。二分查找的步骤如下,一定要谨记:1.找到数组左右两个端点2.找到中间点的值nums[middle]3.通过middle与target的比较来更新左右端点,切记在更新的时候一定要注意边界问题,因为这是整数二分问题。代码如下,还有题解c
喜欢吃火鸡面吗
·
2023-11-26 09:20
算法笔记
leetcode
算法
数据结构
代码随想录刷题day3 |
Leecode
203.移除链表元素 707.设计链表 206.反转链表
203.移除链表元素本题需要注意的是,如果删除的是头节点,需要单独进行处理。可以设置一个虚拟头节点,这样就可以按照统一的方式删除节点了。classSolution{public:ListNode*removeElements(ListNode*head,intval){ListNode*dummyHead=newListNode(0);//设置一个虚拟头节点dummyHead->next=head
小晶君
·
2023-11-26 09:49
链表
数据结构
leetcode
Leecode
27:移除元素
给定一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例1:给定nums=[3,2,2,3],val=3,函数应该返回新的长度2,并且nums中的前两个元素均为2。你不需要考虑数组中超出新长度后面的元素。示
努力的码农x
·
2023-11-26 09:18
Leecode
Leecode
27. 移除元素
原题链接:
Leecode
27.移除元素原来一秒做题不是梦~只要它是简单题,然而,然而,哪里来的简单题给我做啊!
自信的小螺丝钉
·
2023-11-26 09:17
Leetcode
c++
leetcode
Leecode
203. 移除链表元素
原题链接:
Leecode
203.移除链表元素迭代·:/***Definitionforsingly-linkedlist.
自信的小螺丝钉
·
2023-11-26 09:17
Leetcode
c++
leetcode
链表
【
Leecode
】27.移除元素(多种解法)
题目:给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例:1.给定nums=[0,1,2,2,3,0,4,2],val=2,2.函数应该返回新的长度5并且nums中的前五个元素为0,1,3,0,4注意这五个元素可
平塔岛象龟啦啦啦
·
2023-11-26 09:46
学习记录
C++
leecode
编程语言
c++
leetcode
算法
数据结构
移除元素
Leecode
27. Remove Element
给一个数组和一个值,移除数组中所有该元素并返回新的长度。不可以分配新的空间。Example1:nums=[3,2,2,3],val=3,返回长度为2,数组为[2,2]Example2:nums=[0,1,2,2,3,0,4,2],val=2,返回长度为5,数组为[0,1,3,0,4]根据题意,移除数组中值为val的元素后的数组长度,保证算法的空间复杂度是O(1)。假设数组为nums,首先我们肯定是
qiulinsama
·
2023-11-26 09:16
LeetCode
Leetcode
leecode
27.移除元素
1.原题目链接:力扣2.题目内容3.测试用例说明:3.思路:逆向思维:把元素不相等的拿下来尾插,放入一个新的顺序表,返回新的顺序表的个数具体地:由于删除数组中等于val的元素,所以新的数组大小一定小于等于原数组的大小,可以把输出的数组写到输入的数组上,使用双指针的方法,src与dst,当nums[src]==val,src++,不等于nums[dst]=nums[src],dst++,src++,
yoouuung_
·
2023-11-26 09:44
算法
c语言
数据结构
leecode
203. 移除链表元素
*
leecode
203.移除链表元素*示例:*输入:1->2->6->3->4->5->6,val=6*输出:1->2->3->4->5*/publicclassremoveElementsLink{publicListNoderemoveElements
hp15
·
2023-11-26 09:44
链表
算法
算法
链表
leecode
Leecode
_27. 移除元素
1.题目:给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。1.1题目说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想
Jully_xiaoman
·
2023-11-26 09:13
Leecode每日一题
算法
python
leecode
27. 移除元素
intremoveElement(int*nums,intnumsSize,intval){//i表示目前的位置//j表示目前可以放元素的位置inti=0,j=0;/*if(numsSize==0)return0;*/for(i=0;i<numsSize;i++){if(nums[i]!=val)nums[j++]=nums[i];}returnj;}问题1:不需要判断numsSize是否为0
繁华星空
·
2023-11-26 09:13
leecode
leetcode
算法
数据结构
go语言
LeeCode
刷题记:27. 移除元素
27.移除元素给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例1:给定nums=[3,2,2,3],val=3,函数应该返回新的长度2,并且nums中的前两个元素均为2。你不需要考虑数组中超出新长度后面的元素。
Duan_YZ
·
2023-11-26 09:43
go语言LeeCode刷题记
算法
leetcode
数组
go语言
【
LeeCode
】27. 移除元素
给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例1:给定nums=[3,2,2,3],val=3,函数应该返回新的长度2,并且nums中的前两个元素均为2。你不需要考虑数组中超出新长度后面的元素。示例2:给定n
LeeYotta
·
2023-11-26 09:12
#
LeeCode
算法
数据结构
【
LeeCode
】283.移动零
给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。请注意,必须在不复制数组的情况下原地对数组进行操作。解【做的有点呆,额外设置了计数器变量统计0的个数再从后往前赋0】:classSolution{ publicvoidmoveZeroes(int[]nums){ intslow=0; intcount=0; for(intfast=0;fa
LeeYotta
·
2023-11-26 05:54
#
LeeCode
算法
leetcode
数据结构
【
LeeCode
】844.比较含退格的字符串
给定s和t两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回true。#代表退格字符。注意:如果对空文本输入退格字符,文本继续为空。解:同时从后向前遍历S和T(i初始为s末尾,j初始为t末尾),记录#的数量,模拟消除的操作,如果#用完了,就开始比较S[i]和S[j]。时间复杂度:O(n+m)空间复杂度:O(1)classSolution{ publicbooleanbacksp
LeeYotta
·
2023-11-26 05:54
#
LeeCode
算法
leetcode
数据结构
删除有序数组中的重复项(Java)
Leecode
解题思路:留意题目是升序数组,也就是有序的。要求原地删除,所有不能新建数组等操作。利用快慢指针的技巧。当fast指针发现不重复元素的时候,慢指针向前移动一步,并且把不重复的元素赋值给slow指针用于更新数组。再试一下链表的删除重复元素,原理一样83.删除排序链表中的重复元素publicintremoveDuplicates(int[]nums){if(nums.length==0){return0
Steven迪文
·
2023-11-26 05:23
leecode
leetcode
数据结构
算法
数组
快慢指针
leecode
删除有序数组中的重复项
leecode
删除有序数组中的重复项问题给你一个有序数组nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。
♚ 余温
·
2023-11-26 05:22
java
leecode
leetcode
java
04 删除有序数组中的重复项(
leecode
26)
1问题给你一个有序数组nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成。示例1:输入:nums=[1,1,2]输出:2,nums=[1,2]解释:函数应该返回新的长度2,并且原数组nums的前两个元素被修改为1,2。不需要考虑数组中超出新长度后面的元素。示例2:输入:nums=[
aolaf
·
2023-11-26 05:52
#
数据结构与算法01-数组
LeeCode
26 删除有序数组中的重复项
题目给定一个排序数组,在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。解决方法双指针以数组[1,2,2,3]为例,使用双指针(slow指针与fast指针)两个指针首先同时指向第一个数当两个指针指向的数相同时。fast指针向前走一步当两个指针指向的数不相同时,slow指向向前走一步,将fast指针的值赋值给slow指针,然后fast指针向前走一步当fast’指针走完全部数后
好多的Bayes
·
2023-11-26 05:51
算法
Leecode
26. 删除有序数组中的重复项
原题链接:
Leecode
26.删除有序数组中的重复项解法一:使用hash判断一个值是否出现过classSolution{public:intremoveDuplicates(vector&nums){intres
自信的小螺丝钉
·
2023-11-26 05:51
Leetcode
c++
leetcode
【
Leecode
】26. 删除有序数组中的重复项
题目:给你一个有序数组nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下://nums是以“引用”方式传递的。也就是说,
小宇宙a
·
2023-11-26 05:51
Leecode
leetcode
排序算法
算法
leecode
80. 删除有序数组中的重复项 II
80.删除有序数组中的重复项II这题使用双指针,判断是否超过两个相同的数。总体来说没完全做出来,做一半做不下去了,看了下评论一个同学的思想和我一样,但是代码太臃肿了,不过能解决问题。classSolution{publicintremoveDuplicates(int[]nums){intslow=0;intfast=1;intcount=0;while(fast
冒 菜
·
2023-11-26 05:48
排序算法
算法
leetcode
java
数据结构
Leecode
刷题【1数组专题4】80. 删除排序数组中的重复项II (以及通用解法)
Leecode
刷题【1数组专题4】80.删除排序数组中的重复项II(以及通用解法)题目:思路双指针法:(错误代码)正解:通用解法:题目:给你一个有序数组nums,请你原地删除重复出现的元素,使得出现次数超过两次的元素只出现两次
一只活蹦乱跳的大鲤鱼
·
2023-11-26 05:47
leecode刷题
算法
数据结构
排序算法
leecode
刷题笔记
:26. 删除排序数组中的重复项
题目:26.删除有序数组中的重复项题目类型:有序数组去重使用技巧:双指针解题思路使用双指针技巧,即定义一个快指针fast,一个慢指针slowfast先走,判断fast当前指向的元素和slow指向的元素是否重复如果是,则slow不变,fast+1,即跳过当前元素指向下一个元素如果否,slow+1,然后和fast所指向的元素交换,然后fast+1使用循环进行判断,当fast大于等于数组长度时候结束严谨
张猿
·
2023-11-26 05:45
日常
算法
LeeCode
_26. 删除有序数组中的重复项(双指针)
一、介绍1.题目描述题目链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/给你一个有序数组nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成。注意事项:原地删除输出为删除后元素个数nums
Netceor
·
2023-11-26 05:13
LeeCode/PTA/C++
c++
leecode
删重
【
LeeCode
】26.删除有序数组中的重复项
给你一个非严格递增排列的数组nums,请你原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度。元素的相对顺序应该保持一致。然后返回nums中唯一元素的个数。考虑nums的唯一元素的数量为k,你需要做以下事情确保你的题解可以被通过:更改数组nums,使nums的前k个元素包含唯一元素,并按照它们最初在nums中出现的顺序排列。nums的其余元素与nums的大小不重要。返回k。解【因
LeeYotta
·
2023-11-26 05:41
#
LeeCode
算法
leetcode
数据结构
leecode
| 数位和相等数对的最大和
题目的意思总是,一下子很难参透,但是又无懈可击,尤其是当自己又不太会总结简单讲一下,就是一个整数数组中,找一对数,这对数,数位和相等,这对数的值最大比如数组中有17和25==>4236和45==>81最后输出81//一看到这种题,想到的就是用哈希但如何用哈希很好的表示呢?//方法1.intmaximumSum(vector&nums){unordered_map>sumVec;for(autonu
ttxiaoxiaobai
·
2023-11-26 02:17
力扣
哈希算法
算法
c++
leecode
| 最大子数组之和
题目的意思也很好理解,就是在一个给定的数组中,求得子数组之和最大如果这个数组中的元素都大于等于0,那么所求结果,子数组最大值便是所有元素累加,比较复杂的就是中间穿插负值解决中间有负值的思路,允许+负值,但是在tempSum这里要做一个判定,如果tempSum&nums){intans=0,tempSum=0;inti=0;while(i
ttxiaoxiaobai
·
2023-11-26 02:17
力扣
算法
数据结构
leecode
|美化数组的最小删除个数
给你一个下标从0开始的整数数组nums,如果满足下述条件,则认为数组nums是一个美丽数组:nums.length为偶数对所有满足i%2==0的下标i,nums[i]!=nums[i+1]均成立注意,空数组同样认为是美丽数组。你可以从nums中删除任意数量的元素。当你删除一个元素时,被删除>元素右侧的所有元素将会向左移动一个单位以填补空缺,而左侧的元素>将会保持不变。返回使nums变为美丽数组所需
ttxiaoxiaobai
·
2023-11-26 02:17
力扣
算法
leetcode
数据结构
leecode
| HTML 解析器
提供一串字符串,根据给定的规则,去解析该字符串,并返回结果简而言之,就是根据指定的格式,替换内容HTML里这些特殊字符和它们对应的字符实体包括:双引号:字符实体为",对应的字符是"。单引号:字符实体为’,对应的字符是’。与符号:字符实体为&,对应对的字符是&。大于号:字符实体为>,对应的字符是>。小于号:字符实体为解析后的结果。简单讲一下,思路,结合替换的原字符串的规律,第一个字符为&最后一个字符
ttxiaoxiaobai
·
2023-11-26 02:44
力扣
html
算法
前端
leecode
算法题之数组
目录1.合并正序数组并求中位数1.题目剖析2.代码示例3.拓展思考2.盛最多水的容器1.题目剖析2.代码示例3.运行结果4.算法改进5.改进代码示例今天也没学什么新东西,那就给大家上两道力扣算法题叭。1.合并正序数组并求中位数这道题在之前的帖子中(指针第四卷)也提到过,但没有详细去讲,今天就详细讲一下这道题。1.题目剖析首先看这道题的题目,给定两个正序数组,并求出它们的中位数,再根据下方输入输出提
一枕眠秋雨>o<
·
2023-11-25 21:31
算法
java二叉树转换为链表_leetcode
刷题笔记
-114. 二叉树展开为链表(java实现)
leetcode
刷题笔记
-114.二叉树展开为链表(java实现)题目描述给你二叉树的根结点root,请你将它展开为一个单链表:展开后的单链表应该同样使用TreeNode,其中right子指针指向链表中下一个结点
夜刃猫
·
2023-11-25 20:07
java二叉树转换为链表
Leetcode
刷题笔记
:149. Max Points on a Line
题干:Givenanarrayofpointswherepoints[i]=[xi,yi]representsapointontheX-Yplane,returnthemaximumnumberofpointsthatlieonthesamestraightline.Constraints:1line=newHashMap<>();intx0=points[i][0];inty0=points[i
Jianhui_D
·
2023-11-25 18:55
leetcode
算法
LeetCode Java
刷题笔记
—103. 二叉树的锯齿形层序遍历
103.二叉树的锯齿形层序遍历给你二叉树的根节点root,返回其节点值的锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。中等难度,这道题实际上就是102.二叉树的层序遍历的变种,先学会了102,那么这道题就简单了。既然要实现遍历顺序的交叉,那么我们使用一个boolean的变量作为标志位即可,第一次为true,遍历后改为false,然后再改为true……。t
刘Java
·
2023-11-25 17:27
leetcode
java
算法
二叉树的锯齿形层序遍历
leecode
岛屿问题总结DFS
关于岛屿问题的总结文章目录DFS的基本结构例题1:695.岛屿的最大面积例题2:200.岛屿的数量关于DFS的状态重置:(c++的右值和左值)例题3:填海造陆问题827.最大人工岛例题4:岛屿的周长与岛屿问题不同,DFS某一个节点时,需要考虑当前节点与相邻节点的关系二级指针与二维数组floodfillalgorithm这个算法是否与这个问题有关DFS的基本结构网格结构要比二叉树结构稍微复杂一些,它
ryontang
·
2023-11-25 11:59
DFS回溯
leetcode
dfs
力扣算法 Java
刷题笔记
【十大排序算法】代码实现
文章目录稳定排序&不稳定排序1.快速排序复杂度分析:例题:2.归并排序3.插入排序4.冒泡排序Arrays.sort()的底层实现练习:912.排序数组稳定排序&不稳定排序对于序列中的相同元素,如果排序之后它们的相对位置没有发生改变,则称该排序算法为「稳定排序」,反之则为「不稳定排序」应用:如果单单排序int数组,那么稳定性没有什么意义。但如果排序一些结构比较复杂的数据,那么稳定性排序就有更大的优
心海非海_
·
2023-11-24 23:51
数据结构与算法
算法
排序算法
java
Leetcode
刷题笔记
——384. 打乱数组【洗牌算法】
题目思路对于构造函数以及reset函数比较简单,可以用一个类的私有变量保存下Nums(在构造函数中保存),每次调用reset()时将这个私有变量再赋值出去。对于shuffle(),要求等概率返回某个方案,或者说每个元素都等概率出现在每个位置中。可以使用Knuth洗牌算法,在O(n)的复杂度内等概率地返回某个方案。简单地说就是将数组分为两部分,一部分是完成随机的,一部分是原始数组。循环选择i,从[i
高木同学丶
·
2023-11-24 23:19
LeetCode
leetcode
数据结构
leetcode
刷题笔记
——189.旋转数组
题目思路该题可使用较多方法,做题时我只想到第一种比较简单的方法,后看题解第二种方法由于第一种第一种classSolution{public:voidrotate(vector&nums,intk){intn=nums.size();vectornewArr(n);for(inti=0;i&nums,intstart,intend){while(start&nums,intk){intn=nums.
高木同学丶
·
2023-11-24 23:49
leetcode
leetcode
刷题笔记
——88.合并两个有序数组
题目描述分析双指针分析定义指向两个数组头部的双指针。每次比较双指针指向的元素,将较小的元素移动到tmp数组中,并将其指针向后移一个位置。知道两个数组遍历完。时间复杂度是O(m+n)。※但空间复杂度达到了O(m+n),因为需要另外建立tmp数组来储存排序完的序列。※想要降低空间复杂度可以利用nums1数组中原先空闲的n个位置(详见下一个算法“逆向双指针”)代码voidmerge(int*nums1,
fullmoon7
·
2023-11-24 22:27
刷题笔记
leetcode
算法
排序算法
上一页
7
8
9
10
11
12
13
14
下一页
按字母分类:
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
其他