自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 相关性-回忆录(持续更新)

相关性的一些思考

2023-02-19 15:38:57 470 1

原创 召回-回忆录(持续更新)

召回方向的一些思考

2023-02-17 22:57:08 698

原创 牛客网-刷题汇总(持续更新)

牛客网最新刷题汇总,共分为树、链表、DP、数组、字符串、贪心、队列、栈等类别

2022-04-07 11:35:13 830

原创 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 165

原创 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 124

原创 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 204

原创 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 105

原创 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 267

原创 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 160

原创 剑指offer题目汇总(持续更新、整理)

二分 剑指offerII 069:山脉数组的顶部

2021-10-14 15:48:15 322

原创 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 99

原创 模拟(持续更新、整理)

链表两数相加:leetcode-2 两两交换链表只能够的节点:leetcode-24 K个一组翻转链表:leetcode-25数组下一个排序:leetcode-31 有效的数独:leetcode-36 外观数列:leetcode-38字符串字符串转换整数(atoi):leetcode-8 字符串相乘:leetcode-43...

2021-10-11 21:24:30 198

原创 数学(持续更新、整理)

两数相加:leetcode-2 Z字形变换:leetcode-6 整数反转:leetcode-7

2021-10-11 13:18:15 130

原创 bash(持续更新)

192. 统计词频 193. 有效电话号码 194. 转置文件 195. 第十行

2021-10-11 11:29:13 87

原创 SQL(持续更新、整理)

175. 组合两个表 176. 第二高的薪水 177. 第N高的薪水 178. 分数排名

2021-10-08 10:51:05 78

原创 并查集(持续更新、整理)

情侣牵手:leetcode-765 水位上升的泳池中游泳:leetcode-778 使数组唯一的最小增量:leetcode-945 交换字符串中的元素:leetcode-1202 最小体力消耗路径:leetcode-1631

2021-09-30 10:30:55 129

原创 搜索(持续更新、整理)

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 171

原创 回溯(持续更新、整理)

回溯 组合 电话号码的字母组合: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 148

原创 贪心(持续更新、整理)

盛最多水的容器: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 131

原创 动态规划(持续更新、整理)

动态规划 记忆化搜索 扰乱字符串: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 259

原创 位运算(持续更新、整理)

只出现一次的数字: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 116

原创 排序(持续更新、整理)

各种排序算法时间 & 空间复杂度 缺失的第一个正数: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 123

原创 数据结构-字符串(持续更新、整理)

模拟 字符串转化整数: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 97

原创 数据结构-队列 & 优先队列(持续更新、整理)

队列 滑动窗口最大值:leecode-239 前K个高频元素:leetcode-347 绝对值不超过限制的最长连续子数组:leetcode-1438 优先队列 最大交换:leetcode-670 交换一次的先前排列:leetcode-1053 数组的相对排序:leetcode-1122 最多可以参加的会议数目:leetcode-1353 ...

2021-09-27 18:14:17 105

原创 数据结构-栈 & 单调栈(持续更新、整理)

栈 有效的括号: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 116

原创 数据结构-哈希表(持续更新、整理)

两数之和: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 181

原创 数据结构-数组-双指针(持续更新、整理)

无重复字符的最长子串: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 119

原创 数据结构-数组-n数之和(持续更新、整理)

三数之和 三数之和:leetcode-15 最接近的三数之和:leetcode-16 三数之和的多种可能:leetcode-923 四数及以上之和 四数之和:leetcode-18

2021-09-27 15:20:08 109

原创 数据结构-数组-区间和(持续更新、整理)

前缀和 区域和检索-数组不可变:leetcode-303 二位区域和检索-矩阵不可变:leetcode-304 矩阵区域不超过K的最大数值和:leetcode-363 连续的子数组和:leetcode-523 连续数组:leetcode- 按权重随机选择:leetcode- 寻找数组的中心下标:leetcode- 和相同的二元子数组:leetcode- 最大连续1的个数 III:leetcode- 元素和为目标值的子矩阵数量:leetcode- 尽可能使字符串相等.

2021-09-27 15:14:40 230

原创 数据结构-数组-滑动窗口(持续更新、整理)

滑动窗口 无重复字符的最长字串: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 102

原创 数据结构-数组-二分 & 三分(持续更新、整理)

二分 寻找两个正序数组的中位数: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 203

原创 数据结构-链表(持续更新、整理)

单链表操作 翻转: 反转链表:leetcode-206 交换 两两交换链表中的节点:leetcode-24 删除: 多链表操作

2021-09-26 10:16:40 93

原创 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 94

原创 leetcode类别总结(持续更新)

数据结构 树 二叉树(数据结构-树-二叉树_shushi6969的博客-CSDN博客) 多叉树 字典树 数组 二分 三分 区间和 前缀和 差分 树状数组 线段树 滑动窗口 n数之和 链表 哈希表 栈 单调栈 队列 优先队列 双指针 字符串 字串匹配 括号问题 表达式计算 排序 多路归并 推排序 快速排序 位运算 位运算 二进制.

2021-09-23 10:42:18 305

原创 数据结构-树- 二叉树 & 多叉树 & 字典树(持续更新、整理)

目录树的遍历 前序: 中序: 后续 、

2021-09-23 10:41:58 137

原创 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 1777 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 91

原创 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 104

原创 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 103

原创 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 81

Deep Learning-Bengio

deep learning大牛Yoshua Bengio的deep learning,全英文版本

2018-04-18

程序员的数学

程序员的数学 统计思维-程序员数学之概率统计 程序员的数学3-线性代数

2018-04-15

空空如也

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

TA关注的人

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