自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 资源 (2)
  • 收藏
  • 关注

原创 1648. 销售价值减少的颜色球

有一袋球,分别有每个颜色若干个,取orders个球。每个球的,价值是剩余球的数量。

2024-04-01 23:30:22 207

原创 184. 部门工资最高的员工

子查询+group by。查出每个部门最高工资。

2024-03-27 22:51:46 183

原创 183. 从不订购的客户

查找未出现在orders表里面的内容。子查询+not in。

2024-03-27 22:34:53 215

原创 182. 查找重复的电子邮箱

【代码】182. 查找重复的电子邮箱。

2024-03-27 22:23:32 233

原创 LCR 001. 两数相除

【代码】LCR 001. 两数相除。

2024-03-26 23:21:16 536

原创 2960. 统计已测试设备

设备数+1,time+1。

2024-03-26 23:20:15 159

原创 2960. 统计已测试设备

设备数+1,time+1。

2024-03-26 22:39:10 504

原创 2299. 强密码检验器 II

【代码】2299. 强密码检验器 II。

2024-03-25 23:05:58 348

原创 1072. 按列翻转得到最大值等行数

对一行而言,能翻转成相同的(同为1,或者同为0),则相等。能反转成相反的,则巧好,全部相反。可以翻转任意列,求全是1和全是0的行,最多有多少行。

2024-03-25 22:49:00 307

原创 908. 最小差值 I

每个数允许一次加减0~k,让最大值-最小值最少。

2024-03-13 22:41:09 251

原创 2115. 从给定原材料中找到所有可以做出的菜

原材料和每道菜需要什么材料,能做那些菜。

2024-03-13 22:24:27 355

原创 1792. 最大平均通过率

给了每个班的人数和通过人数,给了一堆必考过的学生,分配给了不同班,让平均班的通过率最高。看分配给不同班的收益率,优先最高收益率,使用优先队列。

2024-03-12 23:46:32 272

原创 2827. 范围中美丽整数的数目

【代码】2827. 范围中美丽整数的数目。

2024-03-04 23:08:54 288

原创 2003. 每棵子树内缺失的最小基因值

遍历+合并区间(可以使用启发式合并优化)枚举每个字数,没有出现的最小正整数。

2024-02-27 23:01:33 244

原创 面试题 17.23. 最大黑方阵

找到最长的边都是0的正方形,如果长度想等,尽可能起点小。

2024-02-20 22:15:46 299

原创 511. 游戏玩法分析 I

统计每个用户第一次登陆平台时间。

2024-02-20 21:42:42 361

原创 1723. 完成所有工作的最短时间

K个工人,一共jobs个任务,问怎样分配任务,最短的最长工人完成任务完成时间。

2024-02-19 22:45:31 159

原创 1693. 每天的领导和合伙人

表信息,日期,人,领导和合伙人,统计每个人每天有多少合伙人和领导。

2024-02-19 20:48:25 201

原创 2609. 最长平衡子字符串

计算最长连续0+连续1且个数相等的子串。

2023-05-23 00:09:22 86

原创 449. 序列化和反序列化二叉搜索树

使用BFS,按节点保存起来,使用-1标识空指针;没有重复节点,直接模拟就好了;虽然可以使用先序遍历+中序遍历,还原树,不过这么写简单。一棵树如果编码成string,然后解码回来。

2023-05-22 23:36:51 58

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

统计s1中不相等时y的数量和x的数量。答案为sum(x) / 2 + sum(y) / 2 + (sum(x) 为基数 + 2)一次可以交换s1和s2中任意字符,最少交换多少次,可以让s1等于s2。如果为yy,xx这种为1次。如果为xx,yy这种为1次。如果是yx,xy这种为2次。如果x为奇数则无法匹配。

2023-05-16 00:39:25 65

原创 2389. 和有限的最长子序列

把数组由小到大排序,然后累加和(num[n] = sum(num[0]…num[n])),如果恰好大于这个和,下标就是答案。直接进行二分查找,减少查询复杂度。给二个数组,第一个数组里面的最多元素的子序列和小于第二个数组的每一个数的集合。

2023-05-15 23:26:01 40

原创 354. 俄罗斯套娃信封问题

宽重小到大排序,宽相等时从大往小排,防止同宽放多个信封。把多个信封套在一起,宽和高严格小于,问最多能几个。然后对高进行LIS(最长上升子序列)

2023-05-11 23:28:30 34

原创 2658. 网格图中鱼的最大数目

找到水块,dfs或者bfs找到连着的水块和。找到图上相邻的水块的和最大值。

2023-05-09 23:30:32 43

原创 2210. 统计数组中峰和谷的数量

【代码】2210. 统计数组中峰和谷的数量。

2023-05-09 23:11:58 48

原创 890. 查找和替换模式

判断二个字符串里面的每个字符是否满足一一映射。

2023-05-09 00:05:51 27

原创 2177. 找到和为给定整数的三个连续整数

假设存在m-1,m,m+1的和为n,那么3m=n。求三个连续的整数相加等于给定数,不存在返回空。

2023-05-08 23:47:55 32

原创 1004. 最大连续1的个数 III

使用k个翻转的效果一定是大于等k-1翻转的,这里注意k不够的情况;基于此可以使用贪心的思路。题目也可以转换成允许k个0的情况下右边的下标减去左边的下标的最大值是多少?可以翻转任意k个0到1,问最长连续的1是多长?保存0的下标做查询优化。

2023-05-08 23:38:22 29

原创 剑指 Offer II 005. 单词长度的最大乘积

位运算记录字母是否出现过,然后枚举值class Solution {public: int maxProduct(vector<string>& words) { int visit[1005] = {0}; for (int i = 0; i < words.size(); i++) { for (string::iterator it = words[i].begin(); it != words[i].e

2022-02-18 00:04:31 360

原创 1330. 翻转子数组得到最大的数组值

贪心法:1. 翻转中间,则使用(最小区间最大值-最大区间最小值)*2 + 基准为数组值,这里不一定为正收益2.翻转头或者尾,则位基准重新计算翻转点基准=sum(abs(num[i] - num[i - 1])) (1<=i<nums.size())class Solution {public: int maxValueAfterReverse(vector<int>& nums) { if (nums.size() <= 1.

2022-02-17 23:52:02 291

原创 583. 两个字符串的删除操作

问题等于len(s1)+len(s2) - len(最长子串)*2直接求最长公共子序列class Solution {public: int minDistance(string word1, string word2) { const size_t n = word1.size(); const size_t m = word2.size(); int visit[505][5005] = {0}; for (int i

2022-02-15 23:29:13 168

原创 1371. 每个元音包含偶数次的最长子字符串

暴力,预处理记录每个位置元音出现了多少次,然后穷举n(从size到1)正确解法,记录元音是否出现偶次,可用状态压缩到位,然后出现了相同的状态是即满足要求,记录状态第一次出现的位置。class Solution {public: char index[256]; int visit[500005][5]; void init_index() { memset(index, -1, sizeof(char) * 256); index['a']

2022-02-14 23:09:11 305

原创 386. 字典序排数

字典序特点:先比对首位,在比对第二位,依次类推。所以第一位先填1,在判断下一位是否大于n,如果小于就递归。class Solution {public: void solve(vector<int> &ans, const int n, int now) { if (now <= n) ans.push_back(now); for (int i = 0; i < 10; ++i) {

2022-02-14 22:00:56 137

原创 1038. 把二叉搜索树转换为累加树

当前节点下1.如果有右子树,则先递归右子树。得出右子树累加和。当前节点为和加最大值。2.如果无右子树,则当前值为原树值+MAX(左子树和,父节点值)。3.如果左子树,则递归左子树。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), lef

2021-07-14 00:02:25 51

原创 剑指 Offer 13. 机器人的运动范围

bfsclass Solution {public: bool judge(int x, int y, int k) { int tmp = 0; while (x > 0) { tmp += x % 10; x /= 10; } while (y > 0) { tmp += y % 10; y /= 10;

2021-06-02 21:18:06 63

原创 1382. 将二叉搜索树变平衡

通过先序遍历得到有序数组,然后重建。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: void tree2

2021-05-17 22:51:52 58

原创 745. 前缀和后缀搜索

预处理所有的情况,然后查找class WordFilter {public: unordered_map<string, unordered_map<string, int>> visit; WordFilter(vector<string>& words) { for (int n = 0; n < words.size(); ++n) { const auto &index = wo

2021-04-28 23:11:25 74

原创 477. 汉明距离总和

二进制每一位分开计算,当前位有n个1,则有size-n个0,则不一样个数为n*(size-n)。class Solution {public: int totalHammingDistance(vector<int>& nums) { int visit[32] = {0}; for (auto &index:nums) { for (int i = 0; i < 32; i++)

2021-04-28 22:05:12 48

原创 494. 目标和

初始化 dp[0][x] = dp[0][x] = 1 (x为num[0])转移方程为dp[n][m] = dp[n - 1][m + num[n - 1]] + dp[n - 1][m - num[n - 1]] (n为1~nums.size() - 1, m为-1000~1000)可以使用滚动数组优化空间。class Solution {public: void exchage(int num, int count, int &a, int &b) {

2021-04-27 23:51:52 41

原创 831. 隐藏个人信息

题目链接:https://leetcode-cn.com/problems/masking-personal-information/解题思路:硬处理class Solution {public: string maskPII(string S) { auto index = S.find("@"); std::string ans; if (index != std::string::npos) { ans =

2021-04-23 00:11:46 88

MentoHUST上网

MentoHUST上网工具。相当于锐捷MentoHUST上网工具。相当于锐捷MentoHUST上网工具。相当于锐捷

2014-03-19

图论算法理论、实现及应用.pdf

高清的图论算法理论、实现及应用.pdf 是一本图论算法的经典

2013-09-22

空空如也

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

TA关注的人

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