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
#做题笔记
【每日一题见微知著】预处理+二分查找——区间内查询数字的频率
⭐️寒假新坑——代码之狐的每日
做题笔记
寒假快到期了⭐️2080.区间内查询数字的频率-Mid-第268场周赛题3请你设计一个数据结构,它能求出给定子数组内一个给定值的频率。
代码之狐
·
2023-09-29 03:58
算法与数据结构
leetcode
数据结构
二分查找
算法
leetcode
做题笔记
153. 寻找旋转排序数组中的最小值
已知一个长度为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]]旋转一次的结果为数组[a[n-1],a[0],a[1],a[2],...,a[n-2]
si_mple_
·
2023-09-29 00:17
二分法
leetcode
笔记
算法
leetcode
做题笔记
154. 寻找旋转排序数组中的最小值 II
已知一个长度为n的数组,预先按照升序排列,经由1到n次旋转后,得到输入数组。例如,原数组nums=[0,1,4,4,5,6,7]在变化后可能得到:若旋转4次,则可以得到[4,5,6,7,0,1,4]若旋转7次,则可以得到[0,1,4,4,5,6,7]注意,数组[a[0],a[1],a[2],...,a[n-1]]旋转一次的结果为数组[a[n-1],a[0],a[1],a[2],...,a[n-2]
si_mple_
·
2023-09-29 00:45
二分法
leetcode
笔记
算法
MYSQL的增删改查
MYSQL的增删改查
做题笔记
DESCemployeeUSEhsp_db03CREATETABLEgood(idINT,nameVARCHAR(255),priceDOUBLE);INSERTINTOgood
XX的杰子
·
2023-09-28 05:04
MySQL
mysql
数据库
leetcode
做题笔记
151. 反转字符串中的单词
给你一个字符串s,请你反转字符串中单词的顺序。单词是由非空格字符组成的字符串。s中使用至少一个空格将字符串中的单词分隔开。返回单词顺序颠倒且单词之间用单个空格连接的结果字符串。注意:输入字符串s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。思路一:模拟题意c语言解法char*reverseWords(char*s){ch
si_mple_
·
2023-09-26 11:37
字符串的应用
数组的应用
笔记
leetcode
算法
leetcode
做题笔记
152. 乘积最大子数组
给你一个整数数组nums,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。测试用例的答案是一个32-位整数。子数组是数组的连续子序列。思路一:动态规划c语言解法intmaxProduct(int*nums,intnumsSize){if(numsSize==1){returnnums[0];}intans;floatdp[numsSize][2];
si_mple_
·
2023-09-26 11:01
动态规划
leetcode
笔记
算法
leetcode
做题笔记
148. 排序链表
给你链表的头结点head,请将其按升序排列并返回排序后的链表。思路一:归并排序c语言解法structListNode*merge(structListNode*head1,structListNode*head2){structListNode*dummyHead=malloc(sizeof(structListNode));dummyHead->val=0;structListNode*temp
si_mple_
·
2023-09-24 07:15
链表
递归
leetcode
笔记
链表
leetcode
做题笔记
150. 逆波兰表达式求值
给你一个字符串数组tokens,表示一个根据逆波兰表示法表示的算术表达式。请你计算该表达式。返回一个表示表达式值的整数。注意:有效的算符为'+'、'-'、'*'和'/'。每个操作数(运算对象)都可以是一个整数或者另一个表达式。两个整数之间的除法总是向零截断。表达式中不含除零运算。输入是一个根据逆波兰表示法表示的算术表达式。答案及所有中间计算结果可以用32位整数表示。思路一:栈实现c语言解法bool
si_mple_
·
2023-09-24 07:43
栈的应用
leetcode
笔记
算法
leetcode
做题笔记
147. 对链表进行插入排序
给定单个链表的头head,使用插入排序对链表进行排序,并返回排序后链表的头。插入排序算法的步骤:插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并将其插入。重复直到所有输入数据插入完为止。下面是插入排序算法的一个图形示例。部分排序的列表(黑色)最初只包含列表中的第一个元素。每次迭代时,从
si_mple_
·
2023-09-21 22:37
链表
leetcode
笔记
链表
leetcode
做题笔记
146. LRU 缓存
请你设计并实现一个满足LRU(最近最少使用)缓存约束的数据结构。实现LRUCache类:LRUCache(intcapacity)以正整数作为容量capacity初始化LRU缓存intget(intkey)如果关键字key存在于缓存中,则返回关键字的值,否则返回-1。voidput(intkey,intvalue)如果关键字key已经存在,则变更其数据值value;如果不存在,则向缓存中插入该组k
si_mple_
·
2023-09-21 06:35
链表
leetcode
笔记
缓存
leetcode
做题笔记
145. 二叉树的后序遍历
给你一棵二叉树的根节点root,返回其节点值的后序遍历。思路一:递归c语言解法voidpostorder(structTreeNode*root,int*res,int*resSize){if(root==NULL){return;}postorder(root->left,res,resSize);postorder(root->right,res,resSize);res[(*resSize)
si_mple_
·
2023-09-19 21:12
二叉树
leetcode
笔记
算法
leetcode
做题笔记
144. 二叉树的前序遍历
给你二叉树的根节点root,返回它节点值的前序遍历。思路一:递归c语言解法voidpreorder(structTreeNode*root,int*res,int*resSize){if(root==NULL){return;}res[(*resSize)++]=root->val;preorder(root->left,res,resSize);preorder(root->right,res,
si_mple_
·
2023-09-19 21:41
二叉树
leetcode
笔记
算法
leetcode
做题笔记
141. 环形链表
给你一个链表的头节点head,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。注意:pos不作为参数进行传递。仅仅是为了标识链表的实际情况。如果链表中存在环,则返回true。否则,返回false。思路一:循环一定次数判断是否结束c语言解法boolhasC
si_mple_
·
2023-09-18 19:31
链表
leetcode
笔记
链表
leetcode
做题笔记
142. 环形链表 II
给定一个链表的头节点head,返回链表开始入环的第一个节点。如果链表无环,则返回null。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。如果pos是-1,则在该链表中没有环。注意:pos不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改链表。思路一:快慢指针c语
si_mple_
·
2023-09-18 19:31
链表
leetcode
笔记
链表
leetcode
做题笔记
143. 重排链表
给定一个单链表L的头节点head,单链表L表示为:L0→L1→…→Ln-1→Ln请将其重新排列后变为:L0→Ln→L1→Ln-1→L2→Ln-2→…不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。思路一:两个指针相向运动记录c语言解法intleft;structListNode*prev;voidsolve(structListNode*curr,intright){if(!curr)
si_mple_
·
2023-09-18 19:59
leetcode
笔记
链表
Python常用
做题笔记
1列表/队列/堆栈构建列表:[]声明列表比list()方法效率高声明队列和堆栈:法1:使用[]/list()方法模拟法2:使用collections.deque双端队列:模拟队列append\popleft模拟堆栈append\popcollections.deque():声明双端队列,初始化传入可迭代对象就行,例如列表/元组/字典均可。deque([iterable[,maxlen]])-->d
zkFun
·
2023-09-17 19:06
算法/数据结构/刷题
Python
python
笔记
开发语言
【LeetCode与《代码随想录》】贪心算法篇:
做题笔记
与总结-JavaScript版
代码随想录贪心的本质是选择每一阶段的局部最优,从而达到全局最优。文章目录455.分发饼干376.摆动序列53.最大子数组和122.买卖股票的最佳时机II55.跳跃游戏45.跳跃游戏II1005.K次取反后最大化的数组和134.加油站135.分发糖果(困难)860.柠檬水找零406.根据身高重建队列452.用最少数量的箭引爆气球435.无重叠区间763.划分字母区间56.合并区间738.单调递增的数
karshey
·
2023-09-16 04:01
leetcode
贪心算法
笔记
leetcode
做题笔记
138. 复制带随机指针的链表
给你一个长度为n的链表,每个节点包含一个额外增加的随机指针random,该指针可以指向链表中的任何节点或空节点。构造这个链表的深拷贝。深拷贝应该正好由n个全新节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的next指针和random指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点。例如,如果原链表中有X
si_mple_
·
2023-09-15 05:41
链表
leetcode
笔记
链表
leetcode
做题笔记
139. 单词拆分
给你一个字符串s和一个字符串列表wordDict作为字典。请你判断是否可以利用字典中出现的单词拼接出s。注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。思路一:动态规划c语言解法boolwordBreak(char*s,char**wordDict,intwordDictSize){intn=strlen(s);intdp[n+1];memset(dp,0,sizeof(dp
si_mple_
·
2023-09-15 05:41
字符串的应用
动态规划
leetcode
笔记
算法
leetcode
做题笔记
140. 单词拆分 II
给定一个字符串s和一个字符串字典wordDict,在字符串s中增加空格来构建一个句子,使得句子中所有的单词都在词典中。以任意顺序返回所有这些可能的句子。注意:词典中的同一个单词可能在分段中被重复使用多次。思路一:回溯c++解法classSolution{public:vectorres;vectorwordBreak(strings,vector&wordDict){stringcur_str="
si_mple_
·
2023-09-15 05:37
回溯
字符串的应用
leetcode
笔记
算法
LeetCode
做题笔记
第136题:只出现一次的数字
题目描述给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。输入:[2,2,1]输出:1输入:[4,1,2,1,2]输出:4解题思路先说说我的想法吧,一开始没注意到每个元素均出现两次这个条件,没想到这有什么深层次的含义,所以还是按照一般的思维方式思考,这是一个整数数组,那就先排个序,然后比较当前元素和左边以及右边是否相等,若都不相等,则可以证明只出
李公子lm
·
2023-09-14 02:43
LeetCode
LeetCode
算法
异或
C#
.Net
Core
Leetcode
做题笔记
1051.高度检查器
题目描述学校在拍年度纪念照时,一般要求学生按照非递减的高度顺序排列。请你返回能让所有学生以非递减高度排列的最小必要移动人数。注意,当一组学生被选中时,他们之间可以以任何可能的方式重新排序,而未被选中的学生应该保持不动。示例:输入:heights=[1,1,4,2,1,3]输出:3解释:当前数组:[1,1,4,2,1,3]目标数组:[1,1,1,2,3,4]在下标2处(从0开始计数)出现4vs1,所
晨星_Star
·
2023-09-14 02:13
Leetcode做题笔记
leetcode
算法
java
leetcode
做题笔记
135. 分发糖果
n个孩子站成一排。给你一个整数数组ratings表示每个孩子的评分。你需要按照以下要求,给这些孩子分发糖果:每个孩子至少分配到1个糖果。相邻两个孩子评分更高的孩子会获得更多的糖果。请你给每个孩子分发糖果,计算并返回需要准备的最少糖果数目。思路一:模拟题意intcandy(int*ratings,intratingsSize){intret=1,inc=1,dec=0,pre=1;for(inti=
si_mple_
·
2023-09-14 02:42
数组的应用
leetcode
笔记
数据结构
leetcode
做题笔记
137. 只出现一次的数字 II
给你一个整数数组nums,除某个元素仅出现一次外,其余每个元素都恰出现三次。请你找出并返回那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法且使用常数级空间来解决此问题。思路一:位运算(参考ant大佬的思路)c语言解法intsingleNumber(int*nums,intnumsSize){intresult=0;for(inti=0;i>i)&1;}result+=(count%3)
si_mple_
·
2023-09-14 02:42
位运算
leetcode
笔记
算法
LeetCode
做题笔记
-Q2.两数相加
LeetCode
做题笔记
-Q2.两数相加给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。
Solar_lemon
·
2023-09-14 01:39
LeetCode刷题
leetcode
笔记
算法
leetcode
做题笔记
136. 只出现一次的数字
给你一个非空整数数组nums,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。思路一:快排(时间复杂度不符)intcmp(constvoid*a,constvoid*b){return*(int*)a-*(int*)b;}intsingleNumber(int*nums,intnumsSi
si_mple_
·
2023-09-14 01:38
位运算
leetcode
笔记
算法
动态规划
做题笔记
_待整理
不同的路径[LeetCode]UniquePaths不同的路径一个非常简单的DP题。分析三要素,写出状态转移方程如下:f[i][j]=f[i-1][j]+f[i][j-1]根据动态方程,可以知道当前状态由i-1行的第j列,与当前行第i行的前一列j-1决定。因此,对于f[i-1][j],需要保存一个一维数组,用来记录前一行每列的最优值。对于f[i][j-1]只需要用前一个替换就行。(即上一个循环中的
小碧小琳
·
2023-09-12 10:05
leetcode
做题笔记
133. 克隆图
给你无向连通图中一个节点的引用,请你返回该图的深拷贝(克隆)。图中的每个节点都包含它的值val(int)和其邻居的列表(list[Node])。classNode{publicintval;publicListneighbors;}测试用例格式:简单起见,每个节点的值都和它的索引相同。例如,第一个节点值为1(val=1),第二个节点值为2(val=2),以此类推。该图在测试用例中使用邻接列表表示。
si_mple_
·
2023-09-12 01:24
递归
leetcode
笔记
算法
leetcode
做题笔记
134. 加油站
在一条环路上有n个加油站,其中第i个加油站有汽油gas[i]升。你有一辆油箱容量无限的的汽车,从第i个加油站开往第i+1个加油站需要消耗汽油cost[i]升。你从其中的一个加油站出发,开始时油箱为空。给定两个整数数组gas和cost,如果你可以按顺序绕环路行驶一周,则返回出发时加油站的编号,否则返回-1。如果存在解,则保证它是唯一的。思路一:贪心intcanCompleteCircuit(int*
si_mple_
·
2023-09-12 01:22
贪心
leetcode
笔记
算法
leetcode
做题笔记
131. 分割回文串
给你一个字符串s,请你将s分割成一些子串,使每个子串都是回文串。返回s所有可能的分割方案。回文串是正着读和反着读都一样的字符串。思路一:DFS+回溯c语言解法boolisPalindrome(char*s,intl,intr){while(l<=r){if(s[l++]!=s[r--])returnfalse;}returntrue;}voiddfs(char*s,intlen,char***re
si_mple_
·
2023-09-10 03:41
DFS
回溯
leetcode
笔记
算法
leetcode
做题笔记
130. 被围绕的区域
给你一个mxn的矩阵board,由若干字符'X'和'O',找到所有被'X'围绕的区域,并将这些区域里所有的'O'用'X'填充。思路一:深度优先(DFS)constintdx[4]={1,-1,0,0};constintdy[4]={0,0,1,-1};voidsolve(char**board,intboardSize,int*boardColSize){intn=boardSize;if(n==
si_mple_
·
2023-09-09 08:21
DFS
笔记
leetcode
算法
攻防世界-NewsCenter-(详细操作)
做题笔记
为了让自己记忆更深刻,查询跟资料更方便,开始试着写博客,新手菜鸟,思路有不正确的地方,还请各位大佬不吝啬指正,感谢。下面开始做题:看到网页先用御剑扫描,扫描结果如图:主网页如图:点进去以后还是发现两个网页并没有扫描重要的东西,主网页加载完成之后丢入acunetix进行网站扫描,发现该网站存在sql盲注,如图:接下来我们就要用到sqlmap进行注入,但是在那之前我们需要用到burpsuite代理截取
角一角
·
2023-09-08 16:30
攻防世界
web
高手篇
web安全
安全
leetcode
做题笔记
129. 求根节点到叶节点数字之和
给你一个二叉树的根节点root,树中每个节点都存放有一个0到9之间的数字。每条从根节点到叶节点的路径都代表一个数字:例如,从根节点到叶节点的路径1->2->3表示数字123。计算从根节点到叶节点生成的所有数字之和。叶节点是指没有子节点的节点。思路一:递归inthelper(structTreeNode*root,intprevSum){if(root==NULL)return0;intsum=pr
si_mple_
·
2023-09-07 23:52
递归
二叉树
leetcode
笔记
算法
leetcode
做题笔记
128. 最长连续序列
给定一个未排序的整数数组nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为O(n)的算法解决此问题。思路一:模拟题意(时间复杂度不合要求)intcmp(constvoid*a,constvoid*b){return*(int*)a-*(int*)b;}intlongestConsecutive(int*nums,intnumsSize){if(num
si_mple_
·
2023-09-07 13:08
数组的应用
leetcode
笔记
算法
leetcode
做题笔记
127. 单词接龙
字典wordList中从单词beginWord和endWord的转换序列是一个按下述规格形成的序列beginWord->s1->s2->...->sk:每一对相邻的单词只差一个字母。对于1<=i<=k时,每个si都在wordList中。注意,beginWord不需要在wordList中。sk==endWord给你两个单词beginWord和endWord和一个字典wordList,返回从begin
si_mple_
·
2023-09-07 13:05
BFS
递归
笔记
leetcode
数据结构
leetcode
做题笔记
126. 单词接龙 II
按字典wordList完成从单词beginWord到单词endWord转化,一个表示此过程的转换序列是形式上像beginWord->s1->s2->...->sk这样的单词序列,并满足:每对相邻的单词之间仅有单个字母不同。转换过程中的每个单词si(11)break;}if(tmp==1){diff[i][diffSize[i]++]=j;diff[j][diffSize[j]++]=i;}}}//
si_mple_
·
2023-09-05 01:31
字符串的应用
BFS
leetcode
笔记
java
leetcode
做题笔记
125. 验证回文串
如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个回文串。字母和数字都属于字母数字字符。给你一个字符串s,如果它是回文串,返回true;否则,返回false。思路一:双指针boolisPalindrome(char*s){inti=0,j=0;while(s[i]){if(s[i]>=48&&s[i]=65&&s[i]=97&&s[i
si_mple_
·
2023-09-05 01:30
字符串的应用
leetcode
笔记
算法
leetcode
做题笔记
123. 买卖股票的最佳时机 III
给定一个数组,它的第i个元素是一支给定的股票在第i天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成两笔交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。思路一:动态规划intmaxProfit(int*prices,intpricesSize){intdp[pricesSize][2],ans=0;dp[0][0]=0;dp[pricesSize-1][1]
si_mple_
·
2023-09-03 06:54
动态规划
leetcode
笔记
算法
LeetCode
做题笔记
-Q111.二叉树的最小深度
Q111.二叉树的最小深度给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例1:输入:root=[3,9,20,null,null,15,7]输出:2可以使用深度优先和广度优先完成classSolution{publicintminDepth(TreeNoderoot){//深度优先(递归)intmin=Integer.
Solar_lemon
·
2023-09-03 06:22
leetcode
笔记
算法
leetcode
做题笔记
124. 二叉树中的最大路径和
二叉树中的路径被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中至多出现一次。该路径至少包含一个节点,且不一定经过根节点。路径和是路径中各节点值的总和。给你一个二叉树的根节点root,返回其最大路径和。思路一:递归intans;intdfs(structTreeNode*root){if(root==NULL)return0;intleft=fmax(0,dfs(
si_mple_
·
2023-09-03 06:21
递归
二叉树
leetcode
笔记
深度优先
【
做题笔记
】虚树 (LuoguP2495 - [SDOI2011] 消耗战)
虚树在给定的树上问题中,树的大小过大,导致总时间复杂度O(nq)O(nq)O(nq)不能被接受,但是有很多点在查询的过程中根本用不到,所以对于每一个查询,建立一个小的查询树,在这个小树上求解问题。这个小树就是虚树。LuoguP2495-[SDOI2011]消耗战题目链接如果只要一组数据,那么可以通过dpdpdp进行求解。从树的叶子结点向根节点dpdpdp:如果当前这个节点是关键点,那么这个点必然要
xhyu61
·
2023-09-01 23:22
做题笔记
笔记
图论
算法
【
做题笔记
】CSES-Mathematics
CSES2164-JosephusQueries题目链接不难发现,当人数是奇数和偶数时,情况稍有不同。先看简单的偶数情况:以n=8n=8n=8为例。对于12345678,如果我们当前要走的步数是1,2,3,41,2,3,41,2,3,4,那么所求的答案就非常简单,求第iii个被删掉的数,就是2i2i2i。但如果求第i(2i>n)i(2i>n)i(2i>n)时,由于整个数列要围城一个环,所以我们又会
xhyu61
·
2023-09-01 23:15
做题笔记
笔记
算法
leetcode
做题笔记
122. 买卖股票的最佳时机 II
给你一个整数数组prices,其中prices[i]表示某支股票第i天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候最多只能持有一股股票。你也可以先购买,然后在同一天出售。返回你能获得的最大利润。思路一:动态规划intmaxProfit(int*prices,intpricesSize){intdp[pricesSize][2];dp[0][0]=0;dp[0][1]=-pric
si_mple_
·
2023-09-01 13:07
动态规划
leetcode
笔记
算法
leetcode
做题笔记
120. 三角形最小路径和
给定一个三角形triangle,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。相邻的结点在这里指的是下标与上一层结点下标相同或者等于上一层结点下标+1的两个结点。也就是说,如果正位于当前行的下标i,那么下一步可以移动到下一行的下标i或i+1。思路一:模拟题意intminimumTotal(int**triangle,inttriangleSize,int*triangleColS
si_mple_
·
2023-09-01 13:36
数组的应用
leetcode
笔记
数据结构
leetcode
做题笔记
121. 买卖股票的最佳时机
给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第i天的价格。你只能选择某一天买入这只股票,并选择在未来的某一个不同的日子卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回0。思路一:动态规划intmaxProfit(int*prices,intpricesSize){intdp[pricesSize][
si_mple_
·
2023-09-01 13:36
动态规划
leetcode
笔记
算法
leetcode
做题笔记
119. 杨辉三角 II
给定一个非负索引rowIndex,返回「杨辉三角」的第rowIndex行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。思路一:模拟题意int*getRow(introwIndex,int*returnSize){int*ret=malloc(sizeof(int)*(rowIndex+1));ret[0]=1;*returnSize=rowIndex+1;if(rowIndex==0)re
si_mple_
·
2023-09-01 13:35
数组的应用
leetcode
笔记
算法
leetcode
做题笔记
118. 杨辉三角
给定一个非负整数numRows,生成「杨辉三角」的前numRows行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。思路一:动态规划int**generate(intnumRows,int*returnSize,int**returnColumnSizes){int**returnnum=(int**)malloc(sizeof(int*)*numRows);*returnSize=numR
si_mple_
·
2023-08-31 07:30
动态规划
leetcode
笔记
算法
leetcode
做题笔记
117. 填充每个节点的下一个右侧节点指针 II
给定一个二叉树:structNode{intval;Node*left;Node*right;Node*next;}填充它的每个next指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将next指针设置为NULL。初始状态下,所有next指针都被设置为NULL。思路一:递归structNode*find_next(structNode*root){while(root){if(r
si_mple_
·
2023-08-31 07:00
递归
二叉树
leetcode
笔记
leetcode
做题笔记
116. 填充每个节点的下一个右侧节点指针
给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:structNode{intval;Node*left;Node*right;Node*next;}填充它的每个next指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将next指针设置为NULL。初始状态下,所有next指针都被设置为NULL。思路一:递归structNode*connect
si_mple_
·
2023-08-31 07:59
二叉树
递归
leetcode
笔记
算法
leetcode
做题笔记
109. 有序链表转换二叉搜索树
给定一个单链表的头节点head,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点的左右两个子树的高度差不超过1。思路一:递归+双指针structListNode*getMedian(structListNode*left,structListNode*right){structListNode*fast=left;structListNode*
si_mple_
·
2023-08-31 07:56
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
其他