XOR

1797.设计一个验证系统

问题描述 1797. 设计一个验证系统 (Medium) 你需要设计一个包含验证码的验证系统。每一次验证中,用户会收到一个新的验证码,这个验证码在 currentTime 时刻之后 timeToLive 秒过期。如果验证码被更新了,那么它会在 currentTime (可能与之前的 currentT ......
系统 1797

1792.最大平均通过率

问题描述 1792. 最大平均通过率 (Medium) 一所学校里有一些班级,每个班级里有一些学生,现在每个班都会进行一场期末考试。给你一个二维数组 classes ,其中 classes[i] = [passᵢ, totalᵢ] ,表示你提前知道了第 i 个班级总共有 totalᵢ 个学生,其中只 ......
通过率 1792

312.戳气球

问题描述 312. 戳气球 (Hard) 有 n 个气球,编号为 0 到 n - 1,每个气球上都标有一个数字,这些数字存在数组 nums 中。 现在要求你戳破所有的气球。戳破第 i 个气球,你可以获得 nums[i - 1] * nums[i] * nums[i + 1] 枚硬币。 这里的 i - ......
气球 312

1996.游戏中弱角色的数量

问题描述 1996. 游戏中弱角色的数量 (Medium) 你正在参加一个多角色游戏,每个角色都有两个主要属性: 攻击 和 防御 。给你一个二维整数数组 properties ,其中 properties[i] = [attackᵢ, defenseᵢ] 表示游戏中第 i 个角色的属性。 如果存在一 ......
角色 数量 1996

1247.交换字符使得字符串相同

问题描述 1247. 交换字符使得字符串相同 (Medium) 有两个长度相同的字符串 s1 和 s2,且它们其中 只含有 字符 "x" 和 "y",你需要通过「交换字符」的方式使这两个字符串相同。 每次「交换字符」的时候,你都可以在两个字符串中各选一个字符进行交换。 交换只能发生在两个不同的字符串 ......
字符 字符串 1247

1817.查找用户活跃分钟数

问题描述 1817. 查找用户活跃分钟数 (Medium) 给你用户在 LeetCode 的操作日志,和一个整数 k 。日志用一个二维整数数组 logs 表示,其中每个 logs[i] = [IDᵢ, timeᵢ] 表示 ID 为 IDᵢ 的用户在 timeᵢ 分钟时执行了某个操作。 多个用户 可以 ......
用户 1817

2170.使数组变成交替数组的最少操作数

问题描述 2170. 使数组变成交替数组的最少操作数 (Medium) 给你一个下标从 0 开始的数组 nums ,该数组由 n 个正整数组成。 如果满足下述条件,则数组 nums 是一个 交替数组 : nums[i - 2] == nums[i] ,其中 2 <= i <= n - 1 。 num ......
数组 操作数 2170

golang 遍历并批量压缩图片

package main import ( "bytes" "fmt" "image" "io/ioutil" "mylog" "os" "path" "github.com/nfnt/resize" _ "image/gif" "image/jpeg" _ "image/png" ) func m ......
golang 图片

代码随想录|二叉树(最后一章)

530.二叉搜索树的最小绝对差 501.二叉搜索树中的众数 236. 二叉树的最近公共祖先 235. 二叉搜索树的最近公共祖先 701.二叉搜索树中的插入操作 450.删除二叉搜索树中的节点 669. 修剪二叉搜索树 108.将有序数组转换为二叉搜索树 538.把二叉搜索树转换为累加树 总结篇 53 ......
随想录 随想 代码

KCD技术分享:以SBOM为基础的云原生应用安全治理

随着越来越多的企业和组织将他们的应用迁移到云上,云原生技术的应用部署和管理正在变得更加灵活和高效,但也相应地引入了一些新的安全风险。2023年4月15日,由云原生计算基金会(CNCF)发起,全球各国当地的 CNCF 大使、员工以及 CNCF 会员单位联合组织的Kubernetes Community ......
基础 技术 SBOM KCD

前端 WebUploader 分片上传

​ 第一点:Java代码实现文件上传 FormFile file = manform.getFile(); String newfileName = null; String newpathname = null; String fileAddre = "/numUp"; try { InputSt ......
前端 WebUploader

2325.解密消息

问题描述 2325.解密消息 解题思路 利用数组作为哈希表,记录每个字母是第几个出现的 代码 class Solution { public: string decodeMessage(string key, string message) { int cnt = 0; vector<int> ar ......
消息 2325

1255.得分最高的单词集合

问题描述 1255. 得分最高的单词集合 (Hard) 你将会得到一份单词表 words,一个字母表 letters (可能会有重复字母),以及每个字母对应的得分情况表 score。 请你帮忙计算玩家在单词拼写游戏中所能获得的「最高得分」:能够由 letters 里的字母拼写出的 任意 属于 wor ......
单词 得分 1255

768.最多能完成排序的块 II

问题描述 768.最多能完成排序的块II 解题思路 可以划分成满足条件的块的充分必要条件是,块内所有元素都小于等于右侧数组中未划分的任一元素。 本题中使用了map来进行处理,实际上使用单调栈就可以了。 代码 class Solution { public: int maxChunksToSorted ......
768 II

297.二叉树的序列化与反序列化 (Hard)

问题描述 297. 二叉树的序列化与反序列化 (Hard) 序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。 请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 ......
序列 Hard 297

851.喧闹和富有 (Medium)

问题描述 851. 喧闹和富有 (Medium) 有一组 n 个人作为实验对象,从 0 到 n - 1 编号,其中每个人都有不同数目的钱,以及不同程度的安静值(quietness)。为了方便起见,我们将编号为 x 的人简称为 "person x "。 给你一个数组 richer ,其中 richer ......
Medium 851

1736.替换隐藏数字得到的最晚时间

问题描述 1736.替换隐藏数字得到的最晚时间 解题思路 模拟+贪心 代码 class Solution { public: string maximumTime(string time) { string res; // 先考虑小时 if (time[0] == '?') { if (time[1 ......
数字 时间 1736

1124.表现良好的最长时间段

问题描述 1124. 表现良好的最长时间段 (Medium) 给你一份工作时间表 hours,上面记录着某一位员工每天的工作小时数。 我们认为当员工一天中的工作小时数大于 8 小时的时候,那么这一天就是「 劳累的一天」。 所谓「表现良好的时间段」,意味在这段时间内,「劳累的天数」是严格 大于「不劳累 ......
时间段 时间 1124

1669.合并两个链表

问题描述 1669.合并两个链表 解题思路 模拟 代码 class Solution { public: ListNode *mergeInBetween(ListNode *list1, int a, int b, ListNode *list2) { ListNode *head = list1 ......
两个 1669

334.递增的三元子序列

问题描述 334. 递增的三元子序列 (Medium) 给你一个整数数组 nums ,判断这个数组中是否存在长度为 3 的递增子序列。 如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k ,使得 nums[i] < nums[j] < nums[k] ,返回 true ;否则, ......
序列 334

1326.浇灌花园的最少水龙头数目

问题描述 1326. 灌溉花园的最少水龙头数目 (Hard) 在 x 轴上有一个一维的花园。花园长度为 n,从点 0 开始,到点 n 结束。 花园里总共有 n + 1 个水龙头,分别位于 [0, 1, ..., n] 。 给你一个整数 n 和一个长度为 n + 1 的整数数组 ranges ,其中 ......
水龙 水龙头 数目 花园 1326

1144.递减元素使数组呈锯齿状

问题描述 1144. 递减元素使数组呈锯齿状 (Medium) 给你一个整数数组 nums,每次 操作 会从中选择一个元素并 将该元素的值减少 1。 如果符合下列情况之一,则数组 A 就是 锯齿数组: 每个偶数索引对应的元素都大于相邻的元素,即 A[0] > A[1] < A[2] > A[3] < ......
锯齿状 锯齿 数组 元素 1144

第 N 个泰波那契数 (Easy)

问题描述 1137. 第 N 个泰波那契数 (Easy) 泰波那契序列 T 定义如下: T = 0, T = 1, T = 1, 且在 n >= 0 的条件下 T = T + T + T 给你整数 n,请返回第 n 个泰波那契数 T的值。 示例 1: 输入:n = 4 输出:4 解释: T_3 = ......
Easy

403.青蛙过河

问题描述 403. 青蛙过河 (Hard) 一只青蛙想要过河。 假定河流被等分为若干个单元格,并且在每一个单元格内都有可能放有一块石子(也有可能没有)。 青蛙可以跳上石子,但是不可以跳入水中。 给你石子的位置列表 stones(用单元格序号 升序 表示), 请判定青蛙能否成功过河(即能否在最后一步跳 ......
青蛙 403

2341.maximum Number of Pairs in Array

问题描述 2341. 数组能形成多少数对 (Easy) 给你一个下标从 0 开始的整数数组 nums 。在一步操作中,你可以执行以下步骤: 从 nums 选出 两个 相等的 整数 从 nums 中移除这两个整数,形成一个 数对 请你在 nums 上多次执行此操作直到无法继续执行。 返回一个下标从 0 ......
maximum Number Array Pairs 2341

1775.通过最少操作次数使数组的和相等

问题描述 1775.通过最少操作次数使数组的和相等 解题思路 哈希+贪心 本题总体思路为哈希+贪心,用两个数组mp1,mp2记录nums1,nums2中每个数各出现了多少次; 假设nums1的和sum1减去nums2的和sum2的结果为diff,这里假设diff > 0,为了抹平两个数组的和的差距, ......
数组 次数 1775

2331.计算布尔二叉树的值

问题描述 2331.计算布尔二叉树的值 解题思路 递归 代码 class Solution { public: bool dfs(TreeNode *root) { if (root->left == nullptr) { return root->val; } if (root-> val == ......
布尔 2331

654.最大二叉树 (Medium)

问题描述 654. 最大二叉树 (Medium) 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。 递归地在最大值 左边 的 子数组前缀上 构建左子树。 递归地在最大值 右边 的 子数组后缀上 构建右子树。 ......
Medium 654

84. 柱状图中最大的矩形 (Hard)

问题描述 84. 柱状图中最大的矩形 (Hard) 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子 彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例 1: ![](https://assets.leetcode.com/uploads/2021/01/ ......
矩形 Hard 84

456.132模式

问题描述 456. 132 模式 (Medium) 给你一个整数数组 nums ,数组中共有 n 个整数。 132 模式的子序列 由三个整数 nums[i]、 nums[j] 和 nums[k] 组成,并同时满足: i < j < k 和 nums[i] < nums[k] < nums[j] 。 ......
456.132 模式 456 132