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
Narci随想录
代码
随想录
算法训练营第42天|01背包(二维+一维)
01背包回顾一下回溯的二叉树的图,就可以理解为什么暴力可以用回溯了。如果理解不了递推公式怎么来的,可以去看定义,再想想dp[i-1]到底是什么意思,就可以理解递推公式了。在卡码网辛辛苦苦一顿敲代码,因为没登陆出去重进,代码全没了5555555555我考虑了很久的二维转变成一维时的覆盖问题,后来发现从后向前遍历就可以避免重复添加。classSolution{public:boolcanPartiti
gsy-will
·
2024-02-01 00:20
算法
leetcode
c++
数据结构
算法训练第四天| 链表 24,19,160, 142
代码
随想录
算法训练四天任务:●24.两两交换链表中的节点●19.删除链表的倒数第N个节点●面试题02.07.链表相交(同160)●142.环形链表II●总结24.两两交换链表中的节点方法一:迭代更直观的表示
沧海日月
·
2024-01-31 23:47
代码
随想录
算法训练营第18天(二叉树6)| 最大二叉树&合并二叉树&二叉搜索树中的搜索 & 验证二叉搜索树
654.最大二叉树题目链接/文章讲解视频讲解又是构造二叉树,昨天大家刚刚做完中序后序确定二叉树,今天做这个应该会容易一些,先看视频,好好体会一下为什么构造二叉树都是前序遍历617.合并二叉树题目链接/文章讲解视频讲解这次是一起操作两个二叉树了,估计大家也没一起操作过两个二叉树,也不知道该如何一起操作,可以看视频先理解一下。优先掌握递归。700.二叉搜索树中的搜索题目链接/文章讲解视频讲解递归和迭代
he979731102
·
2024-01-31 22:37
算法
c++
leetcode
数据结构
代码
随想录
算法训练营第21天(二叉树8)|235. 二叉搜索树的最近公共祖先 & 701.二叉搜索树中的插入操作 &450.删除二叉搜索树中的节点
235.二叉搜索树的最近公共祖先leetcode题目链接题目链接/文章讲解视频讲解相对于二叉树的最近公共祖先本题就简单一些了,因为可以利用二叉搜索树的特性。找到的第一个在两数之间的值就是最近的公共节点classSolution{private:TreeNode*traversal(TreeNode*cur,TreeNode*p,TreeNode*q){if(cur==NULL)returncur;
he979731102
·
2024-01-31 22:37
算法
c++
数据结构
leetcode
代码
随想录
算法训练营第16天(二叉树4)| 平衡二叉树&二叉树的所有路径&左叶子之和
110.平衡二叉树leetcode题目链接题目链接/文章讲解/视频讲解重点:平衡二叉树的概念:所以左子树与右子树的高度差不大于1使用后序遍历:手机子树的高度,上交给父节点,来计算代码实现classSolution{public:intgetHeight(TreeNode*node){//退出条件,如果当前树是空,树的高度也就是0if(node==nullptr)return0;//当前层的处理逻辑
he979731102
·
2024-01-31 22:07
算法
c++
数据结构
leetcode
代码
随想录
算法训练营第17天(二叉树5)| 找树左下角的值&二叉树的路径总和&从中序与后序遍历序列构造二叉树&从前序与中序遍历序列构造二叉树
513.找树左下角的值leetcode题目地址题目链接/文章讲解/视频讲解如果使用递归法,如何判断是最后一行:其实就是深度最大的叶子节点一定是最后一行。//迭代法classSolution{public:intfindBottomLeftValue(TreeNode*root){queueque;if(root!=NULL)que.push(root);intresult=0;while(!que
he979731102
·
2024-01-31 22:07
算法
c++
数据结构
leetcode
代码
随想录
算法训练营第20天(二叉树7)| 二叉搜索树的最小绝对差 & 501.二叉搜索树中的众数 & 236. 二叉树的最近公共祖先
530.二叉搜索树的最小绝对差leetcode题目地址题目链接/文章讲解视频讲解需要领悟一下二叉树遍历上双指针操作,优先掌握递归//递归法classSolution{private:intresult=INT_MAX;TreeNode*pre=NULL;voidtraversal(TreeNode*cur){if(cur==NULL)return;traversal(cur->left);//左i
he979731102
·
2024-01-31 22:36
算法
c++
leetcode
代码
随想录
算法刷题训练营day20
代码
随想录
算法刷题训练营day20:LeetCode(654)最大二叉树、LeetCode(617)合并二叉树、LeetCode(700)二叉搜索树中的搜索、LeetCode(700)二叉搜索树中的搜索
Java晓菜吉
·
2024-01-31 17:38
代码随想录算法训练营
算法
java
开发语言
windows
leetcode
代码
随想录
算法训练day32||122.买卖股票的最佳时机II ||55. 跳跃游戏 ||45.跳跃游戏II
122.买卖股票的最佳时机II思路:本题首先要清楚两点:只有一只股票!当前只有买股票或者卖股票的操作想获得利润至少要两天为一个交易单元。这道题目可能我们只会想,选一个低的买入,在选个高的卖,在选一个低的买入.....循环反复。如果想到其实最终利润是可以分解的,那么本题就很容易了!classSolution{public:intmaxProfit(vector&prices){intresult=0
非常的
·
2024-01-31 16:35
算法
leetcode
职场和发展
代码
随想录
算法训练营day7||哈希表2
lc.454.四数相加II这道题给了四个数组,每个数组中抽取一个数使a+b+c+d=0,把ABCD四个数组分成A+B和C+D的原因是两个for循环嵌套的时间复杂度是O(n^2),分成1+3的组合时间复杂度是O(n^3)。初始化一个unordered_map,key存储a+b的值,value统计a+b遍历的次数;之后遍历A、B两个数组。初始化变量count统计a+b+c+d=0的次数,之后遍历C、D
始皇di
·
2024-01-31 15:01
代码随想录算法训练营
算法
散列表
leetcode
代码
随想录
算法训练营day7|哈希表2
原贴算法训练day7|哈希表2第454题.四数相加II力扣题目链接给定四个包含整数的数组列表A,B,C,D,计算有多少个元组(i,j,k,l),使得A[i]+B[j]+C[k]+D[l]=0。为了使问题简单化,所有的A,B,C,D具有相同的长度N,且0≤N≤500。所有整数的范围在-2^28到2^28-1之间,最终结果不会超过2^31-1。例如:输入:A=[1,2]B=[-2,-1]C=[-1,2
XIAOHAIYOU
·
2024-01-31 15:31
算法
散列表
数据结构
代码
随想录
算法训练营DAY7 | 哈希表(2)
一、LeetCode454四数相加II题目链接:454.四数相加IIhttps://leetcode.cn/problems/4sum-ii/description/思路:建立HashMap,Key存储nums1、nums2数对之和,Value存储数对和出现次数,再遍历nums3、nums4数对确定答案。classSolution{publicintfourSumCount(int[]nums1,
橙南花已开
·
2024-01-31 15:30
散列表
数据结构
代码
随想录
算法训练营Day7 | 哈希表part02
遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法第454题.四数相加IIleetcode链接代码
随想录
链接一刷状态:通过思路思路简单,使用unordered_map实现,统计前两个数相加的所有情况
锋_Feng
·
2024-01-31 15:30
算法
散列表
数据结构
c++
leetcode
代码
随想录
算法训练营day17 | 110.平衡二叉树、257. 二叉树的所有路径、404.左叶子之和
110.平衡二叉树递归法,求高度,后序遍历classSolution:defisBalanced(self,root:Optional[TreeNode])->bool:ifself.get_height(root)!=-1:returnTrueelse:returnFalsedefget_height(self,node):ifnotnode:return0left_height=self.ge
sunflowers11
·
2024-01-31 14:19
代码随想录
算法
代码
随想录
算法训练营day10 | 232.用栈实现队列、225. 用队列实现栈
python相关的栈与队列了解list的一些方法https://www.geeksforgeeks.org/list-methods-python/双端队列dequehttps://www.geeksforgeeks.org/deque-in-python/和C++不同,Python没有实现栈和队列特定的类,可以是使用list和deque实现https://www.geeksforgeeks.or
sunflowers11
·
2024-01-31 14:18
代码随想录
算法
代码
随想录
算法训练营day16 | 104.二叉树的最大深度、111.二叉树的最小深度、222.完全二叉树的节点个数
本次全部使用递归的方式实现104.二叉树的最大深度递归法,后序遍历classSolution:defmaxDepth(self,root:Optional[TreeNode])->int:ifnotroot:return0left_depth=self.maxDepth(root.left)right_depth=self.maxDepth(root.right)return1+max(left_
sunflowers11
·
2024-01-31 14:18
算法
数据结构
代码
随想录
算法训练营day09 | 28. 实现 strStr()、459.重复的子字符串
28.实现strStr()KMP算法Carl的视频看了两遍,对于kmp算法了解的更深刻了,之前都是理论觉得懂了,实际代码不会。字符串和模式串匹配的时候与求next数组思想是一样的,都是可以根据当前匹配字符的前面的字符的最长相等前后缀来进行下一步的移动next数组落实到具体代码:初始化当前不匹配当前匹配next数组赋值代码中的i为后缀末尾,j为前缀末尾classSolution:defstrStr(
sunflowers11
·
2024-01-31 14:48
算法
python
开发语言
代码
随想录
算法训练营day13 | 239. 滑动窗口最大值、347.前 K 个高频元素
239.滑动窗口最大值看题解之前只想到了暴力思路。如果按照提示使用队列的话,有问题搞不清楚,如果维护一个排序从大到小的队列时,滑动窗口的移除的元素怎么移除?新添加的元素如何放到合适的地方?看了题解之后1、队列没有必要维护窗口所有元素,只需要维护窗口中有可能成为最大值的元素就可以了2、保证队列里的元素数值是由大到小的那么这个维护元素单调递减的队列就叫做单调队列,即单调递减或单调递增的队列。实现的单调
sunflowers11
·
2024-01-31 14:48
算法
代码
随想录
算法训练营day15 | 102.二叉树的层序遍历、226.翻转二叉树、101. 对称二叉树
本次的题目解法很多,时间有限了解了视频中讲解的那种102.二叉树的层序遍历Python有个点可以注意一下在使用for_inrange(len(queue))的时候,for循环中range的len只取一次,因此增加元素不会影响classSolution:deflevelOrder(self,root:Optional[TreeNode])->List[List[int]]:fromcollectio
sunflowers11
·
2024-01-31 14:48
代码随想录
算法
数据结构
代码
随想录
算法训练营day18 | 513.找树左下角的值、112. 路径总和、106.从中序与后序遍历序列构造二叉树
513.找树左下角的值找最底层、最左边的值迭代法找起来非常方便,可以按层序遍历,找到最后一层的第一个元素递归法的话不是说一直找左节点就可以找到,因为要找到的是最后一层,所以要找到深度最大最左边的元素。在递归时先遍历左子树(前中后序都可实现),根据深度进行更改迭代法层序遍历的模板,稍微更改一下即可classSolution:deffindBottomLeftValue(self,root:Optio
sunflowers11
·
2024-01-31 14:43
代码随想录
算法
数据结构
代码
随想录
算法训练营29期|day35 任务以及具体任务
860.柠檬水找零classSolution{publicbooleanlemonadeChange(int[]bills){intfive=0;intten=0;for(inti=0;i0){ten--;five--;}else{five-=3;}}if(five{if(a[0]==b[0])returna[1]-b[1];//a-b是升序排列,故在a[0]==b[0]的狀況下,會根據k值升序排
-源潮-
·
2024-01-31 13:37
算法
数据结构
leetcode
java
代码随想录
代码
随想录
算法训练营29期|day34 任务以及具体任务
第八章贪心算法part031005.K次取反后最大化的数组和classSolution{publicintlargestSumAfterKNegations(int[]nums,intK){//将数组按照绝对值大小从大到小排序,注意要按照绝对值的大小nums=IntStream.of(nums).boxed().sorted((o1,o2)->Math.abs(o2)-Math.abs(o1)).
-源潮-
·
2024-01-31 13:04
算法
数据结构
leetcode
java
代码随想录
算法
随想录
第四十九天打卡|121. 买卖股票的最佳时机 , 122.买卖股票的最佳时机II
121.买卖股票的最佳时机视频讲解:动态规划之LeetCode:121.买卖股票的最佳时机1_哔哩哔哩_bilibili代码
随想录
思路确定买入的时候,为遍历之前的最小值。确定差值进行比较。
星曜366
·
2024-01-31 11:49
算法
算法
随想录
第四十三天打卡|1049. 最后一块石头的重量 II ,494. 目标和 ,474.一和零
LeetCode:1049.最后一块石头的重量II_哔哩哔哩_bilibili代码
随想录
classSolution(object):deflastStoneWeightII(self,stones):total
星曜366
·
2024-01-31 11:19
算法
算法
随想录
第四十六天打卡|139.单词拆分 ,关于多重背包,你该了解这些! , 背包问题总结篇!
|LeetCode:139.单词拆分_哔哩哔哩_bilibili代码
随想录
我写的(还没写对)classSolution(object):defwordBreak(self,s,wordDict):dp=
星曜366
·
2024-01-31 11:19
算法
算法
随想录
第四十八天打卡| 198.打家劫舍 , 213.打家劫舍II , 337.打家劫舍III
|LeetCode:198.打家劫舍_哔哩哔哩_bilibili代码
随想录
classSolution(object):defrob(self,nums):iflen(nums)==1:returnnums
星曜366
·
2024-01-31 11:17
算法
我在代码
随想录
|写代码Day21之二叉树-501. 二叉搜索树中的众数,236. 二叉树的最近公共祖先,235. 二叉搜索树的最近公共祖先
:*☆学习时间:周一至周五晚上7点—晚上9点周六上午9点-上午11点周日下午3点-下午6点主题:二叉树今日份打卡代码
随想录
-二叉树学习内容:二叉搜索树中的搜索验证二叉搜索树二叉搜索树的最小绝对差内容详细
27dCnc
·
2024-01-31 10:52
数据结构与算法
C/C++语言刷题
c++
笔记
数据结构
我在代码
随想录
|写代码Day20之二叉树-700. 二叉搜索树中的搜索,98. 验证二叉搜索树,530.二叉搜索树的最小绝对差
:*☆主题:二叉树今日份打卡代码
随想录
-二叉树学习内容:二叉搜索树中的搜索验证二叉搜索树二叉搜索树的最小绝对差内容详细:700.二叉搜索树中的搜索题目考点:二叉搜索树递归递归法确定递归函数的参数和返回值递归函数的参数传入的就是根节点和要搜索的数值
27dCnc
·
2024-01-31 10:51
C/C++语言刷题
数据结构与算法
c++
数据结构
笔记
代码
随想录
算法训练营第5天—哈希表01 | 242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和
哈希表用于需要快速判断某个元素是否存在的场景242.有效的字母异位词题目链接/文章讲解/视频讲解:https://programmercarl.com/0242.%E6%9C%89%E6%95%88%E7%9A%84%E5%AD%97%E6%AF%8D%E5%BC%82%E4%BD%8D%E8%AF%8D.html考点哈希表(数组)我的思路分别用两个长度为26的数组遍历记录两个输入字符串中每个字母
日拱一卒的吾
·
2024-01-31 07:06
Leetcode
代码随想录(Python)
算法
散列表
数据结构
python
代码
随想录
算法训练营第3天—链表01 | 203.移除链表元素、707.设计链表、*206.反转链表
203.移除链表元素题目链接/文章讲解/视频讲解::https://programmercarl.com/0203.%E7%A7%BB%E9%99%A4%E9%93%BE%E8%A1%A8%E5%85%83%E7%B4%A0.html考点虚拟头节点我的思路头节点和其它节点分开讨论视频讲解关键点总结未看视频在头节点前创建一个虚拟头节点指向头节点之后创建循环所用链表变量prev,并将虚拟头节点赋值给p
日拱一卒的吾
·
2024-01-31 07:36
Leetcode
代码随想录(Python)
算法
链表
python
代码
随想录
算法训练营第4天—链表02 | *24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、*142.环形链表II
*24.两两交换链表中的节点题目链接/文章讲解/视频讲解:https://programmercarl.com/0024.%E4%B8%A4%E4%B8%A4%E4%BA%A4%E6%8D%A2%E9%93%BE%E8%A1%A8%E4%B8%AD%E7%9A%84%E8%8A%82%E7%82%B9.html考点虚拟头节点三节点交换(需要两个临时变量)我的思路无思路视频讲解关键点总结首先定义虚拟
日拱一卒的吾
·
2024-01-31 07:36
Leetcode
代码随想录(Python)
算法
链表
python
代码
随想录
算法训练营第六天||454.四数相加II 、383. 赎金信、15. 三数之和、18. 四数之和
看完代码
随想录
的想法:鉴于两数之和的操作,可以将四个数组分成两大组来进行操作,而且这道题不需要考虑重复情况,所以继续用map的结构体。敲代码时遇到的困难:满足条件的数组数量应该用前一个
顾远丶
·
2024-01-31 07:30
数据结构
python
算法
哈希算法
代码
随想录
算法训练营第六天 哈希表part2|454.四数相加II 383. 赎金信 15. 三数之和
454.四数相加II参考视频和详解代码
随想录
优解思路HashMap与TwoSum类似,用一个hashMap存储已经遍历过的a+b,把sum放进key,把count放进value,判断c+d有没有hashMap
jj_tech
·
2024-01-31 07:27
算法
散列表
数据结构
代码
随想录
算法训练营第6天—哈希表02 | *454.四数相加II、383. 赎金信、*15. 三数之和、18. 四数之和
*454.四数相加II题目链接/文章讲解/视频讲解:https://programmercarl.com/0454.%E5%9B%9B%E6%95%B0%E7%9B%B8%E5%8A%A0II.html考点哈希结构(字典)我的思路三层for循环分别遍历前三个数组,在第三层循环里查找前三个数组元素和的相反数是否在第四个数组中,如果在,就计数加1,最后返回计数值视频讲解关键点总结一、由于暴力遍历的解法
日拱一卒的吾
·
2024-01-31 07:26
Leetcode
代码随想录(Python)
算法
散列表
哈希算法
python
代码
随想录
刷题笔记-Day13
1.二叉树的层序遍历102.二叉树的层序遍历https://leetcode.cn/problems/binary-tree-level-order-traversal/层次遍历依靠队列的先进先出特点实现。解题思路层序遍历的本质就是对每一个pop出来的处理节点,处理后把他的左右节点放进去。对于每一层来说,进入每一层之前的队列大小就是这一层的大小。所以每一层循环poll的次数能够找到,每一层自己ad
枯树老斑鸠
·
2024-01-31 07:49
代码随想录
笔记
java
算法
代码
随想录
刷题笔记-Day14
1.对称二叉树101.对称二叉树https://leetcode.cn/problems/symmetric-tree/给你一个二叉树的根节点root,检查它是否轴对称。示例1:输入:root=[1,2,2,3,4,4,3]输出:true示例2:输入:root=[1,2,2,null,3,null,3]输出:false解题思路判断一个二叉树是否对称,也就是需要同时遍历左右子树,并且比较对称位置的值
枯树老斑鸠
·
2024-01-31 07:49
代码随想录
笔记
java
算法
代码
随想录
刷题笔记-Day15
1.完全二叉树的的节点个数222.完全二叉树的节点个数https://leetcode.cn/problems/count-complete-tree-nodes/给你一棵完全二叉树的根节点root,求出该树的节点个数。完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第h层,则该层包含1~2h
枯树老斑鸠
·
2024-01-31 07:11
代码随想录
笔记
算法
java
代码
随想录
算法训练营第十六天|● 104.二叉树的最大深度 559.n叉树的最大深度 ● 111.二叉树的最小深度 ● 222.完全二叉树的节点个数
文章目录二叉树的深度和高度104.二叉树的最大深度思路:**递归法**迭代法-层序遍历559.N叉树的最大深度思路一-迭代法思路二-递归法111.二叉树的最小深度思路1-迭代思路2-递归222.完全二叉树的节点个数思路一:二叉树的递归和迭代递归迭代:思路二:判断完全二叉树如何判断是否满足完全二叉树?递归三部曲代码:二叉树的深度和高度104.二叉树的最大深度思路:递归法本题可以使用前序(中左右),也
echoliuy
·
2024-01-31 00:57
算法
leetcode
java
数据结构
代码
随想录
第十七天| ● 110.平衡二叉树 ● 257. 二叉树的所有路径 ● 404.左叶子之和
文章目录110.平衡二叉树思路-递归:代码:思路二-迭代257.二叉树的所有路径思路一:普通递归思路二:递归优化思路三:迭代法(没细看)404.左叶子之和思路-递归110.平衡二叉树思路-递归:明确递归函数的参数和返回值参数:当前传入节点。返回值:以当前传入节点为根节点的树的高度。那么如何标记左右子树是否差值大于1呢?如果当前传入节点为根节点的二叉树已经不是二叉平衡树了,还返回高度的话就没有意义了
echoliuy
·
2024-01-31 00:57
leetcode
java
算法
数据结构
代码
随想录
第十八天|● 513.找树左下角的值 ● 112. 路径总和 113.路径总和ii ● 106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树
文章目录513.找树左下角的值思路一:层序遍历思路二:递归。112.路径总和思路:递归回溯找到结果初始代码(递归函数单独写)代码优化-主函数递归代码再简化113.路径总和ii思路:递归106.从中序与后序遍历序列构造二叉树理论构建过程边界定义思路:(递归)代码105.从前序与中序遍历序列构造二叉树思路:代码:513.找树左下角的值思路一:层序遍历用队列储存每一层的节点数,对每一层的节点数循环,加载
echoliuy
·
2024-01-31 00:57
数据结构
代码
随想录
第19天|● 654.最大二叉树 ● 617.合并二叉树 ● 700.二叉搜索树中的搜索 ● 98.验证二叉搜索树
文章目录654.最大二叉树思路代码:617.合并二叉树思路:递归代码:思路2:迭代-层序遍历代码:700.二叉搜索树中的搜索思路:递归代码:思路2:迭代98.验证二叉搜索树思路:思路一:中序遍历变成递增数组思路一代码:定义long最小值做比较代码优化:定义最小值为前一个节点思路二:统一迭代法654.最大二叉树思路构造树一般采用的是前序遍历,因为先构造中间节点,然后递归构造左子树和右子树。//在左闭
echoliuy
·
2024-01-31 00:54
java
数据结构
算法
代码
随想录
算法训练营第6天|242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和
不同数据结构容器的分类注:key值和value是不同的,key指下标索引,value是该索引存在的值两个表格应该熟知,对不同的情况用不同的容器可以使时间和空间复杂度得到最优242.有效字母的异位词优解:思路:首先构建一个哈希表,即长度26的数组record,该数组的作用记录字母出现次数,下标0为a,1为b,以此类推下标25为z.然后先遍历串s,把出现过的字母对应下标+1(记录串s字母出现的次数);
strive340
·
2024-01-30 21:49
算法
数据结构
代码
随想录
算法训练营第7天|● 454.四数相加II ● 383. 赎金信 ● 15. 三数之和 ● 18. 四数之和
454.四数相加||思路:把四个数组分为两个一组,遍历a,b,并把a+b的值存储在map中,key记录a+b的值,value记录a+b出现的次数。若要四数相加为0,则c+d与a+b需要互为相反数,即a+b=-(c+d),然后遍历c,d并在map中查找是否有a+b=-(c+d),若有则把key为-(c+d)或a+b的value(该值出现的次数)加入计数器.时间复杂度为O()本题用map的好处是当出现
strive340
·
2024-01-30 21:49
算法
数据结构
代码
随想录
算法训练营第一天| 704. 二分查找、27. 移除元素
704.二分查找重点:1.查找前提是有序数组且无重复元素(否则返回数组下标会不唯一)2.主要有两种写法分别为:[left,right],[left,right),区间遵循不变量(每次搜索都必须满足区间定义)。代码:1.左闭右闭:[left,right]intsearch(vector&nums,inttarget){intleft=0;intright=nums.size()-1;//注:与左闭右
strive340
·
2024-01-30 21:19
算法
代码
随想录
算法训练营第二天|977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II
977.有序数组的平方思路:序列为非递减(递增)序列,按平方值递增排序,数组两头一定是最大和第二大的。法一(暴力解):对数组遍历平方,再进行递增排序。时间复杂度最坏O()法二:可以利用双指针法,数组特性最大第二大分别在数组两头,head指数组头,tail指数组尾,两两分别比较,大的值进行平方放尾部,小的放回头部,tail指针逐步往前遍历。该法更类似于交换排序,时间复杂度O(n),空间复杂度(1)v
strive340
·
2024-01-30 21:19
算法
数据结构
代码
随想录
算法训练营第三天| 203.移除链表元素 707.设计链表 206.反转链表
203.移除链表元素本题的重点是创建一个虚拟头节点链接到表头,头节点的好处是可以让删除操作得到统一,还有一个细节是要及时处理释放节点的内存空间。structListNode{//链表定义intval;ListNode*next;ListNode():val(0),next(nullptr){}ListNode(intx):val(x),next(nullptr){}ListNode(intx,Li
strive340
·
2024-01-30 21:19
算法
链表
代码
随想录
算法训练营第四天|24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 面试题 160.链表相交 142.环形链表II
24.两两交换链表中的节点思路:在要交换两个节点的前一个节点设置一个cur指针,并且设置temp1,temp2保存节点再进行互换,当只有奇数个节点则奇数节点和null无需互换;若偶数节点则两两都互换,最后返回head。细节:while中的判断不能写反,若cur->next->next!=null写在前面,当cur->next指向空指针时会发生空指针异常图解:代码:ListNode*swapPair
strive340
·
2024-01-30 21:46
算法
链表
leetcode 93. 复原 IP 地址 刷了一天,忘了整理回溯法了
强烈安利一名大佬:代码
随想录
链接如下代码
随想录
给定一个只包含数字的字符串,用以表示一个IP地址,返回所有可能从s获得的有效IP地址。你可以按任何顺序返回答案。
柳岸残雨
·
2024-01-30 19:16
小白剑指offer冲冲冲
字符串
数据结构
【代码
随想录
】贪心篇
贪心篇用最少的箭引爆气球intcmp(constvoid*a,constvoid*b){return((*((int**)a))[0]>(*((int**)b))[0]);}intfindMinArrowShots(int**points,intpointsSize,int*pointsColSize){if(pointsSize==0)return0;qsort(points,pointsSiz
嘎嘎旺
·
2024-01-30 18:23
数据结构
c++
流水账20220714
流水账2022071420220714#一本书一句话#瞿秋白《瞿秋白
随想录
坦荡人生》历史是不能够,也不应当欺骗的。
有书共鸣
·
2024-01-30 07:52
上一页
14
15
16
17
18
19
20
21
下一页
按字母分类:
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
其他