- 博客(248)
- 资源 (2)
- 收藏
- 关注
原创 leetcode-553 最优除法
贪心:想要除法最大值,a/b,增加a或者减少B都可以实现除法结果最大值。本题中无法增加a的值,只需要减少b的值即可;同时数组中都是大于1的,即后面数字都进行相除为最小值;string optimalDivision(vector<int>& nums) { string res = ""; if (nums.size() == 1) { res += to_string(nums[0]); return res; }
2022-02-27 21:52:42
267
原创 leetcode-575、leetcode-1103 分糖果
思路:为了获取最大的种类,同时,不需要满足平均分配和相同,故只需要统计种类的个数和分配数量个数大小即可;int distributeCandies(vector<int>& candyType) { if (candyType.size() == 2) { return 1; } set<int> s; for (int i = 0; i < candyType.size(); i++) { s.in
2021-11-02 10:46:26
210
原创 leetcode-453、leetcode-462 最小操作次数使数组元素相等
思路:数学题中说每次增加n-1个数字,可以转换为每一次都减一个数字; 那么只需要记录最小的数字,把其他大于最小数字的全部减掉,即为最后结果int minMoves(vector<int>& nums) { if (nums.size() == 1) { return 0; } int min_value = nums[0]; long sum_value = nums[0]; for (int i = 1; i <
2021-10-20 09:43:00
280
原创 leetcode-208 实现 Trie (前缀树)、leetcode-211
208 思路:字典树实现//字典树定义struct Node { Node *next[26]; bool value; Node(): value(false) { for (auto &a : next) a = nullptr; }};class Trie {public://头节点Node *root = new Node();//插入,root不进行操作void insert(string word) { N
2021-10-19 16:24:58
145
原创 BaseDecisionTree源码阅读
# init:参数criterion:特征选择方法,包含信息熵、gini;splitter:选择特征的方式,best:所有特征中最好的;random:部分随机特征中选择最好的;max_depth:树的最大深度,超过的将会剪枝;min_samples_split:分裂最小样本个数,不满足条件不进行分枝;min_samples_leaf:分裂后的最小样本个数,小于的则进行剪枝;min_weight_fraction_leaf:叶子节点全部样本权重和的最小值,若是小于这个值,则会被剪枝max_f.
2021-10-15 18:05:36
319
原创 leetcode-162 寻找峰值、leetcode-1901 找出顶峰元素 II
思路:(1)暴力思路:失去了刷题的意义;(2)二分,想较于普通二分有区别(左右都大于自身点,称为峰值),故利用局部有序进行解决,那么怎么进行迭代呢,只需要找到最大峰值点即为其他的一个峰值点;int findPeakElement(vector<int>& nums) { if (nums.size() == 1) { return 0; } int left = 0, right = nums.size() - 1; whil
2021-10-14 16:13:28
211
原创 leetcode-412 Fizz Buzz
思路:简单模拟vector<string> fizzBuzz(int n) { vector<string> res; for (int i = 0; i < n; i++) { int j = i + 1; if (j % 3 == 0 && j % 5 == 0) { res.push_back("FizzBuzz"); continue;
2021-10-13 17:37:57
201
原创 模拟(持续更新、整理)
链表两数相加:leetcode-2 两两交换链表只能够的节点:leetcode-24 K个一组翻转链表:leetcode-25数组下一个排序:leetcode-31 有效的数独:leetcode-36 外观数列:leetcode-38字符串字符串转换整数(atoi):leetcode-8 字符串相乘:leetcode-43...
2021-10-11 21:24:30
302
原创 并查集(持续更新、整理)
情侣牵手:leetcode-765 水位上升的泳池中游泳:leetcode-778 使数组唯一的最小增量:leetcode-945 交换字符串中的元素:leetcode-1202 最小体力消耗路径:leetcode-1631
2021-09-30 10:30:55
170
原创 搜索(持续更新、整理)
BFS 单词接龙:leetcode-127 青蛙过河:leetcode-403 打开转盘锁:leetcode-773 公交路线:leetcode-815 二叉树中所有距离为K的结点:leetcode-863 蛇梯棋:leetcode-909 最短的桥:leetcode-934 地图分析:leetcode-1162 交换字符串中的元素:leetcode-1202 DFS 电话号码的字母组合:leetcode-17 括号生成:leetcode-22 解数独.
2021-09-30 10:26:35
245
原创 回溯(持续更新、整理)
回溯 组合 电话号码的字母组合:leetcode-17 组合总和:leetcode-39 组合总和II:leetcode-40 组合:leetcode-77 组合总和III:leetcode-216 排列 全排列:leetcode-46 全排列II:leetcode-47 下一个排列:leetcode-31 字符串的排列:leetcode-567 字母大小写排列:leetcode-784 交换一次的先前排列:leetcode-105.
2021-09-29 20:53:58
186
原创 贪心(持续更新、整理)
盛最多水的容器:leetcode-11 跳跃游戏 II:leetcode-45 跳跃游戏:leetcode-55 合并区间:leetcode-56 最大子序和:leetcode-53 买卖股票的最佳时机II:leetcode-122 买卖股票的最佳时机含手续费:leetcode-714 加油站:leetcode-134 分发糖果:leetcode-135 最大数:leetcode-179 摆动序列:leetcode-376 根据身高重建队列:leetcode-406 无重叠区间:l.
2021-09-29 09:56:30
204
原创 动态规划(持续更新、整理)
动态规划 记忆化搜索 扰乱字符串:leetcode-87 买卖股票的最佳时机:leetcode-121 买卖股票的最佳时机II:leetcode-122 买卖股票的最佳时机III:leetcode-123 买卖股票的最佳时机IV:leetcode-188 最佳买卖股票时机含冷冻期:leetcode-309 买卖股票的最佳时机含手续费:leetcode-714 整数拆分:leetcode-343 青蛙过河:leetcode-403 目标和:leet.
2021-09-29 09:44:29
437
原创 位运算(持续更新、整理)
只出现一次的数字:leetcode-136 只出现一次的数字II:leetcode-137 多数元素:leetcode-169 颠倒二进制位:leetcode-190 位1的个数:leetcode-191 求众数II:leetcode-229 2的幂:leetcode-231 只出现一次的数字III:leetcode-260 比特位计数:leetcode-338 4的幂:leetcode-342 两整数之和:leetcode-371 汉明距离:leetcode-477 优美的排列:.
2021-09-28 10:16:20
164
原创 排序(持续更新、整理)
各种排序算法时间 & 空间复杂度 缺失的第一个正数:leetcode-41 合并区间:leetcode-56 插入区间:leetcode-57 对链表进行插入排序:leetcode-147 排序链表:leetcode-148 最大数:leetcode-179 存在重复元素III:leetcode-220 计算右侧小于当前元素的个数:leetcode-315 找到所有数组中消失的数字:leetcode-448 通过删除字母匹配到字典里最长单词:leetcode-5.
2021-09-28 09:55:39
155
原创 数据结构-字符串(持续更新、整理)
模拟 字符串转化整数:leetcode-8 字符串相乘:leetcode-43 最后一个单词的长度:leetcode-58 有效数组:leetcode-65 简化路径:leetcode-71 反转字符串里的单词:leetcode-151、leetcode-557 反转字符串:leetcode-541、leetcode-344 重复的子字符串:leetcode-459 子串问题 实现strStr():leetcode-28 转化成小写字母:leetcode-70.
2021-09-27 18:53:56
122
原创 数据结构-队列 & 优先队列(持续更新、整理)
队列 滑动窗口最大值:leecode-239 前K个高频元素:leetcode-347 绝对值不超过限制的最长连续子数组:leetcode-1438 优先队列 最大交换:leetcode-670 交换一次的先前排列:leetcode-1053 数组的相对排序:leetcode-1122 最多可以参加的会议数目:leetcode-1353 ...
2021-09-27 18:14:17
134
原创 数据结构-栈 & 单调栈(持续更新、整理)
栈 有效的括号:leetcode-20 最长有效括号:leetcode-32 逆波兰表达式求值:leetcode-150 最小栈:leetcode-155 用栈实现队列:leetcode-232 扁平化嵌套列表迭代器:leetcode-341 最短无序连续子数组:leetcode-581 原子的数量:leetcode-726 括号的分数:leetcode-856 仅仅反转字母:leetcode-917 验证栈序列:leetcode-946 删除字符串中的搜雨哦.
2021-09-27 17:53:02
180
原创 数据结构-哈希表(持续更新、整理)
两数之和:leetcode-1 无重复字符的最长子串:leetcode-3 罗马数字转整数:leetcode-13 串联所有单词的子串:leetcode-30 有效的数独:leetcode-36 只出现一次的数字 II:leetcode-137 复制带随机指针的链表:leetcode-138 LRU 缓存机制:leetcode-146 直线上最多的点数:leetcode-149 回旋镖的数量:leetcode-447 根据字符出现频率排序:leetcode-451 LFU 缓存:le.
2021-09-27 17:36:50
274
原创 数据结构-数组-双指针(持续更新、整理)
无重复字符的最长子串:leetcode-3 回文数:leetcode-9 盛最多水的容器:leetcode-11 三数之和:leetcode-15 最接近的三数之和:leetcode-16 四数之和:leetcode-18 删除链表的倒数第 N 个结点:leetcode-19 合并两个有序链表:leetcode-21 删除有序数组中的重复项:leetcode-26 移除元素:leetcode-27 跳跃游戏 II:leetcode-45 旋转数组:leetcode-61 删除排序数.
2021-09-27 15:32:51
196
原创 数据结构-数组-n数之和(持续更新、整理)
三数之和 三数之和:leetcode-15 最接近的三数之和:leetcode-16 三数之和的多种可能:leetcode-923 四数及以上之和 四数之和:leetcode-18
2021-09-27 15:20:08
146
原创 数据结构-数组-区间和(持续更新、整理)
前缀和 区域和检索-数组不可变:leetcode-303 二位区域和检索-矩阵不可变:leetcode-304 矩阵区域不超过K的最大数值和:leetcode-363 连续的子数组和:leetcode-523 连续数组:leetcode- 按权重随机选择:leetcode- 寻找数组的中心下标:leetcode- 和相同的二元子数组:leetcode- 最大连续1的个数 III:leetcode- 元素和为目标值的子矩阵数量:leetcode- 尽可能使字符串相等.
2021-09-27 15:14:40
308
原创 数据结构-数组-滑动窗口(持续更新、整理)
滑动窗口 无重复字符的最长字串:leetcode-3 串联所有单词的字串:leetcode-30 最大子序和:leetcode-53 最小覆盖字串:leetcode-76 长度最小的子数组:leetcode-209 存在重复元素II:leetcode-219 存在重复元素III:leetcode-220 字符串的排列:leetcode-567 最长和谐子序列:leetcode-594 子数组最大平均值:leetcode-643 乘积小于K的子数组:leetcode.
2021-09-27 09:53:04
144
原创 数据结构-数组-二分 & 三分(持续更新、整理)
二分 寻找两个正序数组的中位数:leetcode-4 两数相除:leetcode-29 搜索旋转排序数组:leetcode-33 搜索旋转排序数组 II:leetcode-81 在排序数组中查找元素的第一个和最后一个位置:leetcode-34 搜索插入位置:leetcode-35 x的平方根:leetcode-69 搜索二维矩阵:leetcode-74 搜索二维矩阵II:leetcode-240 寻找旋转排序数组中的最小值:leetcode-153 寻找旋转排..
2021-09-26 13:28:15
257
原创 数据结构-链表(持续更新、整理)
单链表操作 翻转: 反转链表:leetcode-206 交换 两两交换链表中的节点:leetcode-24 删除: 多链表操作
2021-09-26 10:16:40
145
原创 leetcode-430 扁平化多级双向链表
解题思路:需要将层级化结果转为扁平化;当前节点head,如果有child的化,需要遍历child,遍历child的过程就是一个递归的过程,递归时只需要将节点最后一个链表while(child->next) child = child->next和head->next进行相连即可(迭代方法:需要一个挨着一个进行遍历);如果没有child的化,只需要head = head->next即可;递归Node* flatten(Node* head) { Node* res =
2021-09-24 11:42:31
128
原创 leetcode类别总结(持续更新)
数据结构 树 二叉树(数据结构-树-二叉树_shushi6969的博客-优快云博客) 多叉树 字典树 数组 二分 三分 区间和 前缀和 差分 树状数组 线段树 滑动窗口 n数之和 链表 哈希表 栈 单调栈 队列 优先队列 双指针 字符串 字串匹配 括号问题 表达式计算 排序 多路归并 推排序 快速排序 位运算 位运算 二进制.
2021-09-23 10:42:18
425
原创 C4.5连续值处理方法 & 常见连续值处理方法
C4.5连续值处理方法1.二分法:说白了,就是按照连续值进行排序,根据数值生成n-1个平均值(上述计算公式);例子:密度进行信息增益计算:(1)原始score集合:{a1,a2,……,an}= {0.697,0.774,0.634,0.608,0.556,0.403,0.481,0.437,0.666,0.243,0.245,0.343,0.639,0.657,0.360,0.593,0.719}(2)sort之后score集合:{a1,a2,……,an}={0.243,0...
2021-09-13 11:42:22
2152
1
原创 leetcode-155 最小栈
思路:辅助栈,一个栈保存已有数据,另一个栈存储单调栈(用于获取最小值,单调栈直接pop即可)MinStack() {}void push(int val) { st1.push(val); if (st2.empty() || val <= st2.top()) { st2.push(val);; }}void pop() { int value = st1.top(); st1.pop(); if (value ==
2021-09-06 10:38:56
128
原创 leetcode-1109 航班预订统计
思路:差分思想(当区间进行相加时,只需要记录凸点即可;如[1,2]区间+10,1位置+10,2位置不变只需要把1位置的数字加过来即可;而到3位置时,由于该位置没有进行加值,则需要把凹点记录即可)vector<int> corpFlightBookings(vector<vector<int> >& bookings, int n) { vector<int> res(n, 0); //dp记录最后一个凹点,不需要返回re.
2021-08-31 10:15:34
183
原创 leetcode-881 救生艇
思路:sort + 双指针;疑问:就是问什么可以直接选择最小的放入船里面,而不是找到最大容量的情况;因为,船的个人只有2个人,最大重量已经拿出来了,就算能找到一个最合适的重量,那么其他次大重量也是无法达到最优;如果是没有人员限制的话,就是一个背包问题了int numRescueBoats(vector<int>& people, int limit) { sort(people.begin(), people.end()); int left = 0;
2021-08-26 14:06:36
176
原创 leetcode-797 所有可能的路径
思路:数字小于15,果断的进行dfs搜索,简单暴力void dfs(vector<vector<int> >& graph, vector<int> temp, int start, int end, vector<vector<int> > &res) { if (start == end) { res.push_back(temp); return; } for (i
2021-08-25 12:00:51
110
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人