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
LQB算法训练
代码随想录
算法训练
营Day7 | 344.反转字符串、541.反转字符串||、替换数字、151.反转字符串中的单词、右旋字符串
LeetCode344反转字符串本题思路:反转字符串比较简单,定义两个指针,一个i=0,一个j=s.length-1。然后定义一个临时变量tmp,进行交换s[i]和s[j]。classSolution{publicvoidreverseString(char[]s){inti=0;intj=s.length-1;while(i='a'&&c<='z'){sb.append(c);}else{sb.
一个想打拳的程序员
·
2023-12-22 06:13
代码随想录
算法
java
开发语言
代码随想录
算法训练
第一天|704.二分查找、27.移除元素
704.二分查找:题目链接:https://leetcode.cn/problems/binary-search/做题思路:二分法的使用条件:1、数组为有序数组2、数组中无重复元素使用二分法最重要的就是:想清楚区间的定义,区间的定义就是不变量。要在二分查找的过程中,保持不变量,就是在While寻找中每一次边界的处理都要就坚持根据区间的定义来操作。二分法的第一种写法:左闭右闭[left,right]
杜阿福
·
2023-12-22 02:23
算法
leetcode
c++
职场和发展
代码随想录
算法训练
营第五十七天| 647 回文子串 516 最长回文子序列
目录647回文子串516最长回文子序列647回文子串在判断中dp[i][j]需要依赖dp[i+1][j-1]所以第一次循环应该从s.size()-1到0。因为j一定比i大,所以第二层循环应该从i到s.size()classSolution{public:intcountSubstrings(strings){intres=0;vector>dp(s.size(),vector(s.size()))
魔法恐龙: )
·
2023-12-22 01:23
代码随想录算法训练营
算法
代码随想录
算法训练
营 | day56 动态规划 583.两个字符串的删除操作,72.编辑距离
刷题583.两个字符串的删除操作题目链接|文章讲解|视频讲解题目:给定两个单词word1和word2,找到使得word1和word2相同所需的最小步数,每步可以删除任意一个字符串中的一个字符。示例:输入:"sea","eat"输出:2解释:第一步将"sea"变为"ea",第二步将"eat"变为"ea"思路及实现这次是两个字符串可以相互删了,这种题目也知道用动态规划的思路来解,动规五部曲,分析如下:
小周今天学习了吗
·
2023-12-21 22:17
java刷题记录
算法
动态规划
java
leetcode
代码随想录
算法训练
营 | day53 动态规划 1143.最长公共子序列,1035.不相交的线,53.最大子序和
刷题1143.最长公共子序列题目链接|文章讲解|视频讲解题目:给定两个字符串text1和text2,返回这两个字符串的最长公共子序列的长度。一个字符串的子序列是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,"ace"是"abcde"的子序列,但"aec"不是"abcde"的子序列。两个字符串的「公共子序列」是这两个字符
小周今天学习了吗
·
2023-12-21 22:16
java刷题记录
算法
动态规划
java
leetcode
代码随想录
算法训练
营 | day55 动态规划 392.判断子序列,115.不同的子序列
刷题392.判断子序列题目链接|文章讲解|视频讲解题目:给定字符串s和t,判断s是否为t的子序列。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。示例1:输入:s="abc",t="ahbgdc"输出:true示例2:输入:s="axc",t="ahbgdc"输出:false提示:
小周今天学习了吗
·
2023-12-21 22:16
java刷题记录
算法
动态规划
java
leetcode
代码随想录
算法训练
营 | day39 动态规划 62.不同路径,63.不同路径Ⅱ
刷题62.不同路径题目链接|文章讲解|视频讲解题目:一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?示例1:输入:m=3,n=7输出:28示例2:输入:m=2,n=3输出:3解释:从左上角开始,总共有3条路径可以到达右下角。向右->向右->向下向右
小周今天学习了吗
·
2023-12-21 22:46
java刷题记录
算法
动态规划
java
leetcode
代码随想录
算法训练
营 | day42 动态规划 01背包,416.分割等和子集
背包理论基础01背包:文章讲解|视频讲解01背包,滚动数组:文章讲解|视频讲解对于面试的话,其实掌握01背包,和完全背包,就够用了,最多可以再来一个多重背包。如果这几种背包,分不清,我这里画了一个图,如下:至于背包九讲其他背包,面试几乎不会问,都是竞赛级别的了,leetcode上连多重背包的题目都没有,所以题库也告诉我们,01背包和完全背包就够用了。而完全背包又是也是01背包稍作变化而来,即:完全
小周今天学习了吗
·
2023-12-21 22:46
java刷题记录
算法
动态规划
java
leetcode
代码随想录
算法训练
营|day1 704. 二分查找,27. 移除元素。
前言:从今天开始打卡学习Java基础知识数组(Array):是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。数组特点数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型。数组内存空间的地址是连续的。数组下标都是从0开始的。补充:基本数据类型:byte\short\int\long;float\double\;c
小周今天学习了吗
·
2023-12-21 22:45
java刷题记录
算法
java
leetcode
代码随想录
算法训练
营 | day2 977.有序数组的平方,209.长度最小的子数组,59.螺旋矩阵II
基础知识Integer.MAX_VALUEjavaint类整数的最大值是2的31次方-1=2147483648-1=2147483647可以用Integer.MAX_VALUE表示int类整数的最大值Integer.MAX_VALUE+1=Integer.MIN_VALUE=-2147483648Math.min()JavaMath类提供了min函数,用于返回两个数字中的较小值。该函数接受两个参数
小周今天学习了吗
·
2023-12-21 22:45
java刷题记录
矩阵
算法
java
排序算法
leetcode
代码随想录
算法训练
营 | day57 动态规划 647.回文子串,516.最长回文子序列
刷题647.回文子串题目链接|文章讲解|视频讲解题目:给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。示例1:输入:"abc"输出:3解释:三个回文子串:"a","b","c"示例2:输入:"aaa"输出:6解释:6个回文子串:"a","a","a","aa","aa","aaa"提示:输入的字符串长度不会
小周今天学习了吗
·
2023-12-21 22:42
java刷题记录
动态规划
算法
java
leetcode
代码随想录
算法训练
营第五十一天| 309 买卖股票的最佳时机含冰冻期 714 买卖股票的最佳时间含手续费
目录309买卖股票的最佳时机含冰冻期714买卖股票的最佳时机含手续费309买卖股票的最佳时机含冰冻期classSolution{public:intmaxProfit(vector&prices){vector>dp(prices.size()+1,vector(4));//dp[i][0]今天正持有股票//dp[i][1]今天度过冷冻期还未操作//dp[i][2]今天卖出了股票//dp[i][3
魔法恐龙: )
·
2023-12-21 11:32
代码随想录算法训练营
算法
代码随想录
算法训练
营第四十三天| 1049 最后一块石头的重量 II 494 目标和 474 一和零
目录1049最后一块石头的重量II494目标和474一和零1049最后一块石头的重量IIclassSolution{public:constintN=1505;intlastStoneWeightII(vector&stones){vectordp(N);intsum=0;for(inti=0;i=stones[i];j--){dp[j]=max(dp[j],dp[j-stones[i]]+sto
魔法恐龙: )
·
2023-12-21 11:31
代码随想录算法训练营
算法
机器学习——神经网络(BP)
一.理论基础BP(BackPropagation)神经网络是1986年由Rumelhart和McClelland为首的科学家提出的概念,是一种按照误差逆向传播
算法训练
的多层前馈神经网络,是应用最广泛的神经网络
Jblhyano
·
2023-12-21 01:00
机器学习
神经网络
人工智能
算法训练
营Day18
#Java#二叉树#递归开源学习资料Feelingandexperiences:最大二叉树:力扣题目链接给定一个不重复的整数数组nums。最大二叉树可以用下面的算法从nums递归地构建:该题掌握了递归就非常简单了,思路:找到数组中,最大元素的下标,以该元素为分界,左边的是它的左子树部分,右边的是它的右子树部分,再利用递归遍历其左子树与右子树即可。/***Definitionforabinarytr
momolinshaomo
·
2023-12-20 10:03
算法
算法训练
营Day19
#Java#二叉树#双指针开源学习资料Feelingandexperiences:二叉搜索树的最小绝对差:力扣题目链接给你一个二叉搜索树的根节点root,返回树中任意两不同节点值之间的最小差值。差值是一个正数,其数值等于两值之差的绝对值。之前递归搜索树写多了,导致首先想到的方法是把每个节点与左右子树值的差返回给上一级作比较。但是该题目更好的做法是用中序遍历:/***Definitionforabi
momolinshaomo
·
2023-12-20 10:03
算法
算法训练
营Day17
#Java#二叉树#dfs开源学习资料Feelingandexperiences:找树左下角的值:力扣题目链接给定一个二叉树的根节点root,请找出该二叉树的最底层最左边节点的值。假设二叉树中至少有一个节点。找到题目的关键词:最底层,最左边提到了层数,显然是要去找最大深度的。思路:利用深度优先搜索,定义全局变量,把得到的结果赋值给全局变量,走不通了,那最后赋值给全局变量的则是最后的结果;代码如下:
momolinshaomo
·
2023-12-20 10:02
算法
day41
算法训练
|动态规划part03343. 整数拆分
343.整数拆分1.确定dp数组(dptable)以及下标的含义dp[i]:分拆数字i,可以得到的最大乘积为dp[i]2.确定递推公式其实可以从1遍历j,然后有两种渠道得到dp[i].一个是j*(i-j)直接相乘。一个是j*dp[i-j]j*(i-j)是单纯的把整数拆分为两个数相乘,而j*dp[i-j]是拆分成两个以及两个以上的个数相乘。dp[i]=max({dp[i],(i-j)*j,dp[i-
AdrianLeon
·
2023-12-19 08:40
算法
动态规划
day35
算法训练
|贪心算法 part04
860.柠檬水找零情况一:账单是5,直接收下。情况二:账单是10,消耗一个5,增加一个10情况三:账单是20,优先消耗一个10和一个5,如果不够,再消耗三个5情况三处有贪心,先用10来还,不行的话再用5。因为5既可以用来找10还可以用来找20,但是10只能用来找20classSolution{publicbooleanlemonadeChange(int[]bills){intfive=0;int
AdrianLeon
·
2023-12-19 08:09
贪心算法
算法
代码随想录
算法训练
营第四天 | 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题02.07. 链表相交、142.环形链表II
24.两两交换链表中的节点题目链接: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%
owlmo
·
2023-12-18 19:05
代码随想录训练营
算法
链表
数据结构
代码随想录
算法训练
营第三天 | 203.移除链表元素、707.设计链表、206.反转链表
链表理论基础什么是链表:链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)。链表的头结点为head。如图所示:链表分为:单链表、双链表、循环链表。链表在存储时是不连续分布的,其查找的时间复杂度为O(n),插入/删除的时间复杂度为O(n)。一个典型的单链表定义如下://单链表struc
owlmo
·
2023-12-18 19:04
代码随想录训练营
算法
链表
数据结构
代码随想录
算法训练
营第六天 | 242. 有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和
242.有效的字母异位词题目链接:242.有效的字母异位词给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。注意:若s和t中每个字符出现的次数都相同,则称s和t互为字母异位词。文章讲解/视频讲解: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
owlmo
·
2023-12-18 19:02
代码随想录训练营
算法
c++
哈希表
代码随想录
算法训练
营Day2 | 977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II
LeetCode977有序数组的平方本题思路:最容易想到的就是使用暴力循环的方式,将数组每个值都平方,然后进行一个排序操作。但是这样做,使用快排,它的复杂度也是ologn。所以,我们可以尝试用双指针的方法:一个指针left=0,一个指针right=nums.length-1。然后对比nums[left]和nums[right]的大小,谁大,赋值给result的数组,从result数组从下标cur=
一个想打拳的程序员
·
2023-12-17 20:11
代码随想录
算法
矩阵
数据结构
代码随想录
算法训练
营Day3 | 203.移除链表元素、707.设计链表、59.螺旋矩阵II
LeetCode203移除链表元素本题思路:就是常规的移除链表中的元素的操作。需要注意的点:头节点head.val=val的情况的处理,如果head.val=val,就要继续往后head=head.next,因此我们要遍历到第一个head.val!=val的节点如果遍历到最后,所有的节点的值都不等于val,此时就直接返回head;如果遍历到最后,链表中还有元素。此时就开始做判断classSolut
一个想打拳的程序员
·
2023-12-17 20:11
代码随想录
算法
链表
代码随想录
算法训练
营Day1 | 704.二分查找、27.移除元素
LeetCode704二分查找题目链接:704.二分查找本题思路:本题题目写的是二分查找,所以我们用到的算法肯定也是二分查找,需要定义3个变量。l:从数组的下标0开始r:数组长度-1mid:(l+r)>>1,当数字很大的时候,会发生溢出,所以建议使用l+((r-l)>>1)所谓的二分查找就是每次找中间的那个值,判断是否与目标值相等,如果相等返回下标。如果不相等,再根据当前值和目标值大小,确定是l+
一个想打拳的程序员
·
2023-12-17 20:39
代码随想录
算法
算法训练
第三十七天 |738.单调递增的数字、968.监控二叉树
738.单调递增的数字:题目链接当且仅当每个相邻位数上的数字x和y满足x=0;i--){if(chars[i]>chars[i+1]){chars[i]--;start=i+1;}}for(inti=start;i
加利福利亚雾
·
2023-12-17 12:03
算法
贪心算法
java
算法训练
第二十三天 |669. 修剪二叉搜索树、108. 将有序数组转换为二叉搜索树、538. 把二叉搜索树转换为累加树
669.修剪二叉搜索树:题目链接给你二叉搜索树的根节点root,同时给定最小边界low和最大边界high。通过修剪二叉搜索树,使得所有节点的值在[low,high]中。修剪树不应该改变保留在树中的元素的相对结构(即,如果没有被移除,原有的父代子代关系都应当保留)。可以证明,存在唯一的答案。所以结果应当返回修剪好的二叉搜索树的新的根节点。注意,根节点可能会根据给定的边界发生改变。示例:输入:root
加利福利亚雾
·
2023-12-17 11:32
算法
算法训练
第三十八天|509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
509.斐波那契数:题目链接斐波那契数(通常用F(n)表示)形成的序列称为斐波那契数列。该数列由0和1开始,后面的每一项数字都是前面两项数字的和。也就是:F(0)=0,F(1)=1F(n)=F(n-1)+F(n-2),其中n>1给定n,请计算F(n)。示例:输入:n=2输出:1解释:F(2)=F(1)+F(0)=1+0=1解答:classSolution{publicintfib(intn){in
加利福利亚雾
·
2023-12-17 11:32
算法
java
动态规划
算法训练
第二十一天 |530. 二叉搜索树的最小绝对差、501. 二叉搜索树中的众数、236. 二叉树的最近公共祖先
530.二叉搜索树的最小绝对差:题目链接给你一个二叉搜索树的根节点root,返回树中任意两不同节点值之间的最小差值。差值是一个正数,其数值等于两值之差的绝对值。示例:输入:root=[4,2,6,1,3]输出:1解释:递归调用如下所示:-[3,2,1,6,0,5]中的最大值是6,左边部分是[3,2,1],右边部分是[0,5]。-[3,2,1]中的最大值是3,左边部分是[],右边部分是[2,1]。-
加利福利亚雾
·
2023-12-17 11:02
算法
算法训练
第二十二天 |235. 二叉搜索树的最近公共祖先、701. 二叉搜索树中的插入操作、450. 删除二叉搜索树中的节点
235.二叉搜索树的最近公共祖先:题目链接给定一个二叉搜索树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个结点p、q,最近公共祖先表示为一个结点x,满足x是p、q的祖先且x的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树:root=[6,2,8,0,4,7,9,null,null,3,5]示例:输入:root=[6,2,8,0
加利福利亚雾
·
2023-12-17 11:02
算法
算法训练
第二十八天 |93. 复原 IP 地址、78. 子集、90. 子集 II
93.复原IP地址:题目链接有效IP地址正好由四个整数(每个整数位于0到255之间组成,且不能含有前导0),整数之间用‘.’分隔。例如:“0.1.2.201”和“192.168.1.1”是有效IP地址,但是“0.011.255.245”、“192.168.1.312”和“
[email protected]
”是无效IP地址。给定一个只包含数字的字符串s,用以表示一个IP地址,返回所有可能的有效IP地址,这些地址
加利福利亚雾
·
2023-12-17 11:02
算法
剪枝
java
算法训练
第三十六天 |435. 无重叠区间、763. 划分字母区间、56. 合并区间
435.无重叠区间:题目链接给定一个区间的集合intervals,其中intervals[i]=[starti,endi]。返回需要移除区间的最小数量,使剩余区间互不重叠。示例:输入:intervals=[[1,2],[2,3],[3,4],[1,3]]输出:1解释:移除[1,3]后,剩下的区间没有重叠。解答:classSolution{publicinteraseOverlapIntervals
加利福利亚雾
·
2023-12-17 11:02
算法
贪心算法
java
算法训练
第一天 | 704. 二分查找、27. 移除元素
704.二分查找:题目链接给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。示例1:输入:nums=[-1,0,3,5,9,12],target=9输出:4解释:9出现在nums中并且下标为4解答:classSolution{publicintsearch(int[]nums,inttarget){
加利福利亚雾
·
2023-12-17 11:31
算法
算法训练
第三十九天|62. 不同路径、63. 不同路径 II
62.不同路径:题目链接一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?示例:输入:m=3,n=7输出:28解答:classSolution{publicintuniquePaths(intm,intn){int[][]dp=newint[m+1]
加利福利亚雾
·
2023-12-17 11:00
算法
java
动态规划
day39
算法训练
|动态规划part02
62.不同路径代码随想录按照动规五部曲来分析:1确定dp数组(dptable)以及下标的含义dp[i][j]:表示从(0,0)出发,到(i,j)有dp[i][j]条不同的路径。2确定递推公式想要求dp[i][j],只能有两个方向来推导出来,即dp[i-1][j]和dp[i][j-1]。此时在回顾一下dp[i-1][j]表示啥,是从(0,0)的位置到(i-1,j)有几条路径,dp[i][j-1]同理
AdrianLeon
·
2023-12-17 11:15
算法
动态规划
算法训练
day27|回溯算法part03
39.组合总和需要startIndex的情况:一个集合求组合需要startIndex来控制for循环起始位置多个集合取组合不需要startInex控制,各个集合独立,互不影响重复选取元素的方法:backtrack直接回溯当前位置,相当于可以选择当前元素或者之后的元素(//不用i+1了,表示可以重复读取当前的数)剪枝:一般在循环中进行剪枝如果已经比目标更大,就不需要接着循环。(结束条件中也有类似剪枝
AdrianLeon
·
2023-12-17 11:45
算法
算法训练
day31|贪心算法part1
理论基础:贪心算法没有模版通过找到局部最优解来获得全剧最优解455.分发饼干大饼干给大胃口先遍历胃口再遍历饼干小饼干给小需求先遍历饼干,再遍历胃口376.摆动序列局部最优:同一趋势下,只用管最大值和最小值,全剧最优:整个序列有最多的局部峰值,从而达到最长摆动序列情况一:上下坡中有平坡情况二:数组首尾两端情况三:单调坡中有平坡为了应对情况1,我们只计入平->摆的部分所以我们记录峰值的条件应该是:(p
AdrianLeon
·
2023-12-17 11:45
算法
贪心算法
算法训练
day37|贪心算法part06
738.单调递增的数字遇到了strNum[i-1]>strNum[i],让strNum[i-1]--,然后strNum[i]及以后给为9根据这种情况从后往前遍历classSolution{publicintmonotoneIncreasingDigits(intn){Strings=String.valueOf(n);char[]chars=s.toCharArray();intstart=s.l
AdrianLeon
·
2023-12-17 11:45
算法
贪心算法
java
算法训练
day32|贪心算法part02
122.买卖股票的最佳时机II局部最优:记录每天的利润,只需要累加利润为正的天数//贪心思路classSolution{publicintmaxProfit(int[]prices){intresult=0;for(inti=1;i
AdrianLeon
·
2023-12-17 11:13
算法
贪心算法
leetcode
Java实现 蓝桥杯VIP
算法训练
ALGO-85进制转换
问题描述编写一个程序,输入一个二进制的字符串(长度不超过32),然后计算出相应的十进制整数,并把它打印出来。输入格式:输入为一个字符串,每个字符都是’0’或’1’,字符串的长度不超过32。输出格式:输出一个整数。输入输出样例样例输入1101样例输出13importjava.util.Scanner;publicclass进制转换85{publicstaticvoidmain(String[]arg
南 墙
·
2023-12-17 08:13
蓝桥杯VIP
Java
蓝桥杯VIP
算法训练
ALGO-85进制转换
进制转换
代码随想录
算法训练
营第52天| 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组
JAVA代码编写300.最长递增子序列给你一个整数数组nums,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7]是数组[0,3,1,6,2,2,7]的子序列。示例1:输入:nums=[10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是[2,3,7,101],因此长度为4。示例2:输入:n
Catherinemin
·
2023-12-17 02:10
代码随想录
leetcode
算法
算法
代码随想录
算法训练
营第50天| 123.买卖股票的最佳时机III 188.买卖股票的最佳时机IV
JAVA代码编写123.买卖股票的最佳时机III给定一个数组,它的第i个元素是一支给定的股票在第i天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成两笔交易。**注意:**你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例1:输入:prices=[3,3,5,0,0,3,1,4]输出:6解释:在第4天(股票价格=0)的时候买入,在第6天(股票价格=3)的时候卖出,这笔
Catherinemin
·
2023-12-17 02:40
代码随想录
leetcode
算法
算法
代码随想录
算法训练
营第51天| 309.最佳买卖股票时机含冷冻期 714.买卖股票的最佳时机含手续费
JAVA代码编写309.最佳买卖股票时机含冷冻期给定一个整数数组prices,其中第prices[i]表示第i天的股票价格。设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):卖出股票后,你无法在第二天买入股票(即冷冻期为1天)。**注意:**你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例1:输入:prices=[1,2,3,0,
Catherinemin
·
2023-12-17 02:40
leetcode
代码随想录
算法
算法
代码随想录
算法训练
营第53天| 1143.最长公共子序列 1035.不相交的线 53. 最大子序和 动态规划
JAVA代码编写1143.最长公共子序列给定两个字符串text1和text2,返回这两个字符串的最长公共子序列的长度。如果不存在公共子序列,返回0。一个字符串的子序列是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,"ace"是"abcde"的子序列,但"aec"不是"abcde"的子序列。两个字符串的公共子序列是这两个
Catherinemin
·
2023-12-17 02:34
leetcode
代码随想录
算法
算法
动态规划
图论-最小生成树-并查集-Kruskal
算法训练
安慰奶牛时间限制:1.0s内存限制:256.0MB问题描述FarmerJohn变得非常懒,他不想再继续维护供奶牛之间供通行的道路。道路被用来连接N个牧场,牧场被连续地编号为1到N。
XIMO_W
·
2023-12-17 00:21
图论
图论
最小生成树
蓝桥杯
三道困难题leetcode332、51、37(对于每一个细节的讲解,绝对是你在其他题解中看不到的)
算法训练
营DAY30|332.重新安排行程、51.N皇后、37.解数独_让你明白算法!的博客-CSDN博客这篇文章的续作,也相当于二刷了,对于之前没写的题的题解做一个补充。
让你明白算法!
·
2023-12-16 20:00
练习
算法
leetcode
c++
代码随想录
算法训练
营第五十三天 _ 动态规划_1143.最长公共子序列、1035.不相交的线、53.最大子序和、392. 判断子序列。
学习目标:动态规划五部曲:①确定dp[i]的含义②求递推公式③dp数组如何初始化④确定遍历顺序⑤打印递归数组----调试引用自代码随想录!60天训练营打卡计划!学习内容:1143.最长公共子序列动态规划五步曲:①确定dp[i][j]的含义:在[0,i-1]和[0,j-1]范围中的最长公共子序列的长度。(指的就是第一行第一列全填充为空,即多申请这么多空间)②求递推公式:当前行列元素相等:dp[i+1
Josue?
·
2023-12-16 15:55
刷题训练心得
算法
动态规划
day34
算法训练
|贪心算法
1005.K次取反后最大化的数组和两次贪心算法思路1.数组中有负数时,把绝对值最大的负数取反2.数组全为非负数时,一直取反最小的那个数步骤:第一步:将数组按照绝对值大小从大到小排序,注意要按照绝对值的大小第二步:从前向后遍历,遇到负数将其变为正数,同时K--第三步:如果K还大于0,那么反复转变数值最小的元素,将K用完第四步:求和classSolution{publicintlargestSumAf
AdrianLeon
·
2023-12-16 15:22
算法
贪心算法
代码随想录
算法训练
营第五十三天 |1143. 最长公共子序列、1035. 不相交的线、53. 最大子数组和
1143.最长公共子序列题目链接:1143.最长公共子序列dp含义:nums1[0,i-1]为结尾,nums2[0,j-1]为结尾的的最长公共子序列的长度递推公式:if(nums1[i-1]==nums2[j])dp[i][j]=dp[i-1][j-1]+1dp[i]=Math.max(dp[i][j-1],dp[i-1][j])初始化:dp[0][j]和dp[i][0]在这样的dp定义下是和空字
努力刷题的oyyo
·
2023-12-16 13:27
代码随想录
算法训练
营第二十四天(回溯算法篇)|理论基础,77. 组合
结束了二叉树的篇章,我们进入到回溯啦!学习资料:代码随想录(programmercarl.com)理论基础回溯算法又称回溯搜算算法,是一种搜索方法。作为递归的“副产品”,只要右递归的地方就会有对应的回溯的过程。回溯算法为纯暴力搜索,不高效,却对解决某些问题很重要。可以解决的问题:理解回溯将回溯法抽象为树形结构,回溯的问题集中在递归查找子集,集合的大小构成了树的宽度,递归的深度构成了树的深度。回溯算
为什么不能重用户名
·
2023-12-16 03:28
代码随想录训练营
算法
python
数据结构
上一页
29
30
31
32
33
34
35
36
下一页
按字母分类:
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
其他