自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(130)
  • 收藏
  • 关注

原创 计算机网络-物理层

计算机网络物理层

2024-08-22 08:50:11 1014

原创 计算机网络-数据链路层

计算机网络数据链路层

2024-08-21 16:38:52 846

原创 计算机网络-网络层

计算机网络湖科大笔记

2024-05-09 19:35:38 791 4

原创 计算机网络-概述

计算机网络概述

2024-04-30 13:23:42 2735 3

原创 计算机网络-应用层

计算机网络应用层笔记(湖科大)

2024-04-16 16:39:46 796 1

原创 【二叉树】LC习题看这一篇就够了!(持续更新...)

二叉树题单力扣

2024-04-09 17:00:27 1019

原创 计算机网络-运输层

计算机网络运输层学习

2024-04-08 10:48:46 1963 1

原创 C++基础入门(省略版本)(黑马笔记)

C++基础知识省略版本

2024-02-22 17:04:50 323

原创 C++提高编程(黑马笔记)

C++提高编程 模版 STL容器

2024-02-12 09:48:14 1260

原创 C++核心编程(黑马笔记)

C++核心编程

2024-01-31 10:34:59 895

原创 【二分查找】LC习题看这一篇就够了!

二分查找题单

2024-01-26 10:43:17 1065

原创 每日一题合集1

1038 从二叉搜索树到更大和树1038. 从二叉搜索树到更大和树 - 力扣(LeetCode)二叉树的中序遍历+逆向思维给定一个二叉搜索树 root (BST),请将它的每个节点的值替换成树中大于或者等于该节点值的所有节点值之和。提醒一下, 二叉搜索树 满足下列约束条件:节点的左子树仅包含键 小于 节点键的节点。节点的右子树仅包含键 大于 节点键的节点。左右子树也必须是二叉搜索树。示例 1:输入:[4,1,6,0,2,5,7,null,null,null,3,null,null,n

2023-12-31 10:33:02 1011

原创 Java8-17新特性(宋红康2023笔记)

Java新特性

2023-12-16 15:39:52 1057

原创 数据结构与算法(Java) -单调队列单调栈题单

单调队列单调栈复习作业题目参考

2023-12-03 10:30:00 1202

原创 数据结构与算法(Java)-树形DP题单

543. 二叉树的直径 - 力扣(LeetCode)给你一棵二叉树的根节点,返回该树的 直径 。二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 。两节点之间路径的 长度 由它们之间边数表示。示例 1:示例 2:提示:124 二叉树的最大路径和124. 二叉树中的最大路径和 - 力扣(LeetCode)二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不

2023-11-26 17:59:15 1013

原创 正则表达式(Java)(韩顺平笔记)

【代码】正则表达式(Java)(韩顺平笔记)

2023-11-24 22:02:11 2137

原创 数据结构与算法(Java)-前后缀分解题单

对于比 nums [k+1]小的的数 x 来说,nums [k+1] 的出现使得 x 的右边多了一个比 x 大的数。所以更新的是比 nums [k+1] 小的数。

2023-11-15 20:44:32 270

原创 数据结构与算法(Java)- 位运算基础入门

【代码】数据结构与算法(Java)- 位运算基础入门。

2023-11-11 20:33:09 158

原创 765 情侣牵手(贪心)

我们可以两个两个遍历,不断检查第i个人旁边是否为情侣,是的话continue,不是的话将情侣换过来。只需要交换row[1]和row[2]的位置即可。最少交换座位的次数,以便每对情侣可以并肩坐在一起。无需交换座位,所有的情侣都已经可以手牵手了。交换可选择任意两人,让他们站起来交换座位。个座位上,想要牵到对方的手。情侣们按顺序编号,第一对是。对情侣坐在连续排列的。人和座位由一个整数数组。,以此类推,最后一对是。

2023-11-11 11:49:54 107

原创 1438 绝对差不超过限制的最长连续子数组(单调队列)

满足题意的最长子数组是 [2,4,7,2],其最大绝对差 |2-7| = 5 <= 5。[8,2,4,7] 最大绝对差 |8-2| = 6 > 4.[8,2,4] 最大绝对差 |8-2| = 6 > 4.[2,4,7] 最大绝对差 |2-7| = 5 > 4.[8,2] 最大绝对差 |8-2| = 6 > 4.[2,4] 最大绝对差 |2-4| = 2 <= 4.[4,7] 最大绝对差 |4-7| = 3 <= 4.[2] 最大绝对差 |2-2| = 0 <= 4.,和一个表示限制的整数。

2023-11-10 17:52:21 148

原创 数据结构(C语言) 实验-栈与字符串

字符串采用带头结点的链表存储,设计算法函数void delstring(linkstring s, int i,int len)在字符串s中删除从第i个位置开始,长度为len的子串。

2023-11-10 17:00:41 569

原创 数据结构(C语言)实验-单链表

假设线性表(a1,a2,a3,…an)采用不带头结点的单链表存储,请设计算法函数linklist reverse1(linklist head)和void reverse2(linklist *head)将不带头结点的单链表head就地倒置,使表变成(an,an-1,…a3.a2,a1)。并构造测试用例进行测试。

2023-11-10 16:45:45 605

原创 239 滑动窗口最大值(单调队列)

的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的。滑动窗口的位置 最大值。保证队首元素为滑动窗口最大值 队列单调递减。滑动窗口每次只向右移动一位。

2023-11-09 19:13:06 75

原创 84 柱状图中的最大的矩形(单调栈)

个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1。求在该柱状图中,能够勾勒出来的矩形的最大面积。最大的矩形为图中红色区域,面积为 10。枚举高度+预处理l r。

2023-11-08 19:57:51 150

原创 1019 链表的下一个更大节点(单调栈)

也就是说,对于每个节点,找到它旁边的第一个节点的值,这个节点的值。)的下一个更大的节点的值。个节点没有下一个更大的节点,设置。对于列表中的每个节点,查找下一个。

2023-11-07 09:46:46 53

原创 1475 商品折扣后的最终价格(单调栈)

商品 0 的价格为 price[0]=8 ,你将得到 prices[1]=4 的折扣,所以最终价格为 8 - 4 = 4。商品 1 的价格为 price[1]=4 ,你将得到 prices[3]=2 的折扣,所以最终价格为 4 - 2 = 2。商品 2 的价格为 price[2]=6 ,你将得到 prices[3]=2 的折扣,所以最终价格为 6 - 2 = 4。将遍历到的更大的元素加入到栈中,计算出答案需要prices减去栈顶的元素。保证栈顶为待处理的元素的下标,不断遍历下标加入栈中。

2023-11-06 10:11:50 88

原创 739 每日温度(单调栈)(灵神笔记)

天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用。时间复杂度:O(n) 从栈的角度看,每个元素只会进栈出栈一次。栈中记录还没算出「下一个更大元素」的那些数(的下标),表示每天的温度,返回一个数组。栈中记录下一个更大元素的「候选项」空间复杂度:O(n)

2023-11-05 09:26:46 134

原创 1000 合并石头的最低成本(区间DP)(前缀和)(灵神笔记)

合并 [5, 1, 2],成本为 8,剩下 [3, 8, 6]。输入:stones = [3,5,1,2,6], K = 3。合并 [3, 2],成本为 5,剩下 [5, 4, 1]。输入:stones = [3,2,4,1], K = 2。输入:stones = [3,2,4,1], K = 3。合并 [3, 8, 6],成本为 17,剩下 [17]。合并 [4, 1],成本为 5,剩下 [5, 5]。合并 [5, 5],成本为 10,剩下 [10]。从 [3, 5, 1, 2, 6] 开始。

2023-11-04 08:54:00 174

原创 1547 切棍子的最小成本(区间DP)

第二次切割长度为 6 的棍子(即第一次切割得到的第二根棍子),第三次切割为长度 4 的棍子,最后切割长度为 3 的棍子。每次切割的成本都是当前要切割的棍子的长度,切棍子的总成本是历次切割成本的总和。总成本 <= 25 的切割顺序很多,例如,[4, 6, 5, 2, 1] 的总成本 = 22,是所有可能方案中成本最小的。而将切割顺序重新排列为 [3, 5, 1, 4] 后,总成本 = 16(如示例图中 7 + 4 + 3 + 2 = 16)。输入:n = 9, cuts = [5,6,1,4,2]

2023-11-03 09:27:48 84

原创 1771 由子序列构造的最长回文串的长度(区间DP)

解释:从 word1 中选出 “ab” ,从 word2 中选出 “cba” ,得到回文串 “abcba”。字符串 s 的一个 子序列 是通过从 s 中删除一些(也可能不删除)字符而不更改其余字符的顺序生成的字符串。解释:从 word1 中选出 “ab” ,从 word2 中选出 “a” ,得到回文串 “aba”。输入:word1 = “cacb”, word2 = “cbba”输入:word1 = “ab”, word2 = “ab”输入:word1 = “aa”, word2 = “bb”

2023-11-02 09:30:49 123

原创 1312 让字符串成为回文串的最小插入次数(区间DP)

给你一个字符串 s ,每一次操作你都可以在字符串的任意位置插入任意字符。解释:字符串 “zzazz” 已经是回文串了,所以不需要做任何插入操作。解释:插入 5 个字符后字符串变为 “leetcodocteel”。解释:字符串可变为 “mbdadbm” 或者 “mdbabdm”。请你返回让 s 成为回文串的 最少操作次数。「回文串」是正读和反读都相同的字符串。输入:s = “leetcode”输入:s = “zzazz”输入:s = “mbadm”s 中所有字符都是小写字母。

2023-11-01 14:23:06 66

原创 132 分割回文串||(递推+预处理)

解释:只需一次分割就可将 s 分割成 [“aa”,“b”] 这样两个回文子串。给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文。返回符合要求的 最少分割次数。输入:s = “aab”s 仅由小写英文字母组成。输入:s = “ab”输入:s = “a”

2023-10-31 14:44:01 104

原创 375 猜数字大小||(状态机DP)

每当你猜了数字 x 并且猜错了的时候,你需要支付金额为 x 的现金。如果你花光了钱,就会 输掉游戏。如果你猜错了,那么我会告诉你,我选的数字比你的 更大或者更小 ,并且你需要继续猜数。给你一个特定的数字 n ,返回能够 确保你获胜 的最小现金数,不管我选择那个数字。解释:只有一个可能的数字,所以你可以直接猜 1 并赢得游戏,无需支付任何费用。如果你猜到正确的数字,就会 赢得游戏。解释:有两个可能的数字 1 和 2。我从 1 到 n 之间选择一个数字。你来猜我选了哪个数字。

2023-10-30 19:14:00 124

原创 1039 多边形三角剖分的最低得分(状态机DP)(灵神笔记)

对于每个三角形,该三角形的值是顶点标记的乘积,三角剖分的分数是进行三角剖分后所有 n - 2 个三角形的值之和。给定一个整数数组 values ,其中 values[i] 是第 i 个顶点的值(即 顺时针顺序 )。输入:values = [1,3,1,4,1,5]解释:多边形已经三角化,唯一三角形的分数为 6。输入:values = [3,7,4,5]解释:有两种三角剖分,可能得分分别为:3。输入:values = [1,2,3]解释:最低分数三角剖分的得分情况为 1。最低分数为 144。

2023-10-29 10:14:50 147

原创 516 最长回文子序列(区间DP)(灵神笔记)

子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。解释:一个可能的最长回文子序列为 “bbbb”。解释:一个可能的最长回文子序列为 “bb”。时间复杂度:O(n^2) 一共有n*n个状态。时间复杂度:O(n^2) 一共有n*n个状态。时间复杂度:O(n^2) 一共有n*n个状态。输入:s = “bbbab”空间复杂度:O(n^2)空间复杂度:O(n^2)空间复杂度:O(n)

2023-10-28 08:09:51 240

原创 1911 最大子序列交替和(状态机DP)(贪心)

比方说,[2,7,4] 是 [4,2,3,7,2,1,4] 的一个子序列(加粗元素),但是 [2,4,2] 不是。比方说,数组 [4,2,5,3] 的交替和为 (4 + 5) - (2 + 3) = 4。解释:最优子序列为 [6,1,5] ,交替和为 (6 + 5) - 1 = 10。解释:最优子序列为 [4,2,5] ,交替和为 (4 + 5) - 2 = 7。输入:nums = [6,2,1,2,4,5]输入:nums = [4,2,5,3]输入:nums = [5,6,7,8]

2023-10-27 09:02:25 97

原创 188 买卖股票的最佳时机IV(状态机DP)(灵神笔记)

解释:在第 2 天 (股票价格 = 2) 的时候买入,在第 3 天 (股票价格 = 6) 的时候卖出, 这笔交易所能获得利润 = 6-2 = 4。随后,在第 5 天 (股票价格 = 0) 的时候买入,在第 6 天 (股票价格 = 3) 的时候卖出, 这笔交易所能获得利润 = 3-0 = 3。解释:在第 1 天 (股票价格 = 2) 的时候买入,在第 2 天 (股票价格 = 4) 的时候卖出,这笔交易所能获得利润 = 4-2 = 2。输入:k = 2, prices = [3,2,6,5,0,3]

2023-10-24 14:44:51 94

原创 周赛368 合法分组的最少组数(灵神笔记)

cnt[x]表示x的个数,如果cnt[x]=32,k=10,那么可以分为10+10+10+2,最后的2=1+1分别加入两个10当中,如果cnt[x]=34,那么就分不了设q=cnt[x]/k向下取整,r=cnt[x]%k,一定满足。

2023-10-23 09:17:43 117

原创 周赛368 元素和最小的山形三元组(前后缀分解)

请你找出 nums 中 元素和最小 的山形三元组,并返回其 元素和。如果不存在满足条件的三元组,返回 -1。nums[i] < nums[j] 且 nums[k] < nums[j]给你一个下标从 0 开始的整数数组 nums。输入:nums = [5,4,8,7,10,2]输入:nums = [6,5,4,3,4,5]解释:可以证明 nums 中不存在山形三元组。输入:nums = [8,6,1,5,3]

2023-10-23 08:34:28 147

原创 309 买卖股票的最佳时机含冷冻期(状态机DP)(灵神笔记)

设计一个算法计算出最大利润。给定一个整数数组prices,其中第 prices[i] 表示第 i 天的股票价格。解释: 对应的交易状态为: [买入, 卖出, 冷冻期, 买入, 卖出]注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。输入: prices = [1,2,3,0,2]输入: prices = [1]

2023-10-21 08:47:33 121

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除