自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 [leetcode] 1192 critical-connections-in-a-network

https://leetcode.com/contest/weekly-contest-154/problems/critical-connections-in-a-network/class Solution {public: vector<vector<int>> res; int index = 0; // 访问序号 ...

2019-09-15 13:49:00 329

转载 C++ 读书笔记

leetcode刷了600多题啦,最近会放缓刷题速度(具体而言,就是只打周赛),开始看C++相关内容。 该内容近短时间内将持续更新,但本身没啥技术含量,因为只是我个人的笔记而已。 内容:C++ Primer / Effective C++运算符重载 重载运算符函数的参数数量与该运算符作用的运算对象数量一样多。一元运...

2019-09-09 20:33:00 294

转载 [Math] leetcode 1041 Robot Bounded In Circle

problem:https://leetcode.com/problems/robot-bounded-in-circle/ As the hint mentions, we can keep track of the robot's position, when it finally return to the original position, or its d...

2019-08-18 20:02:00 215

转载 [dynamic programming] leetcode 688 Knight Probability in Chessboard

problem:https://leetcode.com/problems/knight-probability-in-chessboard/ This is an easy problem using dfs.class Solution {public: vector<int> dx{1,2,2,1,-1,-2,-2,-1};...

2019-08-17 23:58:00 165

转载 [Greedy] leetcode 870 Advantage Shuffle

problem:https://leetcode.com/problems/advantage-shuffle/ In ordered tomaximize the advantage of array A with respect to B, we had better choose the smallest element in array A that is ...

2019-08-17 23:39:00 101

转载 [贪心] leetcode 927 Three Equal Parts

problem:https://leetcode.com/problems/three-equal-parts/ 首先,检测有多少个1,记作x,看是不是3的倍数。不是则说明不存在对应划分。 之后,检测末尾的0,作为每个二进制数末尾的0个数,记作y。 最后,检测是否存在3个连续、不相交的,总共包含 1/3 * x 个1,末尾有 y ...

2019-08-16 21:47:00 131

转载 [宽度优先搜索] leetcode 743 Network Delay Time

problem:https://leetcode.com/problems/network-delay-time 相当于求单源带权最短路径。然后取所有最短路径中最大的那个。class Solution {public: vector<unordered_map<int, int>> graph; int netwo...

2019-08-12 13:27:00 91

转载 [滑动窗口] leetcode 424 Longest Repeating Character Replacement

problem:https://leetcode.com/problems/longest-repeating-character-replacement/ 维护一个最多包含k个额外字符的滑动窗口。需要记录当前出现次数最多字符的出现次数来判断窗口是否合法,如果超过了,就把首指针向后挪一位,同时更新最多出现次数。对每个合法窗口,取其中的最大值。class Solu...

2019-08-11 22:14:00 102

转载 [滑动窗口] leetcode 76 Minimum Window Substring

problem:https://leetcode.com/problems/minimum-window-substring/ 滑动窗口题。维护一个包含t中所有字符的最小滑动窗口,首先用一个hashmap记录所有t中的字符和出现次数,在s中每遇到一次计数器加一,找到了符合条件的窗口后,尝试向右移动窗口左指针,直到恰好能够满足条件为止。更新当前最小滑动窗口。cla...

2019-08-11 21:39:00 97

转载 [排列] leetcode 60 Permutation Sequence

problem:https://leetcode.com/problems/permutation-sequence 求第k个排列数。数学解法,可以找一下规律。比如对于1234的排列数,一共有24种。我们从左到右依次决定排列数是哪些。首先第一个数有4种可选的,一共有24种,那么每种就是6个,我们用 k / 6,看它落在哪个区间,就取哪个数字。 之后,还...

2019-08-11 21:18:00 95

转载 [排列] leetcode 46 Permutations

problem:https://leetcode.com/problems/permutations/ 输出所有排列数。递归中,最快的方法是直接交换,实际上执行的是选择操作,选择了一个数据后,把它交换到前面;可以保证下一次选择不会包含着一数字,并且数字被选择的概率都是相等的。class Solution {public: vector<vec...

2019-08-11 18:26:00 85

转载 [树] 前序,中序,后序的非递归写法

前序遍历:class Solution {public: vector<int> preorderTraversal(TreeNode* root) { stack<TreeNode*> st; vector<int> res; if (root) st.push(root...

2019-08-11 17:53:00 86

转载 [二分搜索] leetcode 162 Find Peak Element

problem:https://leetcode.com/problems/find-peak-element/ 根据下标二分搜索。每次检查mid左右两个数和mid的关系,决定如何进行下一步。class Solution {public: int findPeakElement(vector<int>& nums) { ...

2019-08-11 17:32:00 94

转载 [二分搜索] leetcode 34 Find First and Last Position of Element in Sorted Array

problem:https://leetcode.com/problems/find-first-and-last-position-of-element-in-sorted-array/ 经典二分搜索题。要点是改变low或high的时候把当前数字mid也包含进来,因为它也可能是结果。class Solution {public: vector&l...

2019-08-11 16:38:00 110

转载 [二分搜索] leetcode 240 Search a 2D Matrix II

problem:https://leetcode.com/problems/search-a-2d-matrix-ii 经典双指针二分查找题目。class Solution {public: bool searchMatrix(vector<vector<int>>& matrix, int target) {...

2019-08-11 16:20:00 81

转载 [栈] leetcode 1019 Next Greater Node In Linked List

problem:https://leetcode.com/problems/next-greater-node-in-linked-list/ 维护递减的单调栈。这道题对象是链表,不像数组可以快速通过下标索引,所以比较方便的做法是在栈中同时记录数字和对应的下标,并且默认填0,如果找到了比它大的第一个数,再修改下标对应的数字。/** * Definition ...

2019-08-11 16:05:00 122

转载 [栈] leetcode 84 Largest Rectangle in Histogram

problem:https://leetcode.com/problems/largest-rectangle-in-histogram 经典单调栈题目。维护递增的单调栈,当发现当前数字比栈顶要小的时候,此时栈顶元素是最大的(大于栈里的下一个元素,也大于当前元素),所以可以计算以当前栈顶元素为高的矩形面积,并比较是不是最大的。class Solution {...

2019-08-11 15:12:00 66

转载 leetcode 周赛 Weekly Contest 149

这一次终于没有提交WA了。 1154.Day of the Year 简单题。打印一年到现在的天数,区分闰年即可。// 不要问我run, ping是啥意思 = =。class Solution {public: int dayOfYear(string date) { vector&lt...

2019-08-11 13:46:00 98

转载 [快慢指针]leetcode 286 Find the duplicate number

problem:https://leetcode.com/problems/find-the-duplicate-number/ 查找是否存在环。快指针走2步,慢指针走1步,相遇则存在环。设慢指针走了路程s,则快指针走了2s,环长度为s。若环的起始位置为d,则慢指针的位置在起始位置过一点的地方,它只要再走d步又可以回到起始位置 。class Solution {...

2019-08-11 02:48:00 72

转载 [二分搜索] leetcode 33 Search in Rotated Sorted Array

problem:https://leetcode.com/problems/search-in-rotated-sorted-array/ 二分搜索题。检查二分后的半段是否满足递增条件,如果满足且数据落在这一区间,就在这一区间查找,否则到另一区间查找。class Solution {public: int search(vector<int...

2019-08-11 02:07:00 93

转载 leetcode 双周赛 Biweekly Contest 6

最后一题比赛快结束的时候想到怎么做了(通过WA的数据猜出来的),比赛后10分钟做出来的。最终做了3题,时间1个小时左右吧。1150.Check If a Number Is Majority Element in a Sorted Array 这道题理论应该用二分,但是数据量很小(1000),所以就直接暴力过了:class Solution...

2019-08-11 00:29:00 128

转载 [二分搜索] leetcode 74 Search a 2D Matrix

problem:https://leetcode.com/problems/search-a-2d-matrix/ 经典二分搜索。本质上还是一维数组。class Solution {public: bool searchMatrix(vector<vector<int>>& matrix, int target) ...

2019-08-10 22:04:00 73

转载 [动态规划] leetcode 357 Count Numbers with Unique Digits

problem:https://leetcode.com/problems/count-numbers-with-unique-digits/1 : 102: 10 + 9 x 93: 10 + 9 x 9 + 9 x 9 x 84: 10 + 9 x 9 + 9 x 9 x 8 x 7……class Solution {public: int ...

2019-08-10 19:12:00 68

转载 [动态规划] leetcode 354 Russian Doll Envelopes

problem:https://leetcode.com/problems/russian-doll-envelopes/ 最长连续子序列类型问题。先排序,dp[i]记录使用第i个套娃的最大数量。bool cmp(const vector<int>& x, const vector<int>& y){ ret...

2019-08-10 18:19:00 91

转载 [动态规划] leetcode 343 Integer Break

problem:https://leetcode.com/problems/integer-break/ 枚举所有整数相加,取它们最大乘积的乘积,然后选择最大值。class Solution {public: int integerBreak(int n) { vector<int> dp(n + 1, 0); ...

2019-08-10 18:06:00 76

转载 [动态规划] leetcode 338 Counting Bits

problem:https://leetcode.com/problems/counting-bits 爬台阶类型。我的做法是num拆分为比它小的最大2^n的值加上另一个数,然后这两个的dp叠加。class Solution {public: vector<int> countBits(int num) { vecto...

2019-08-10 17:31:00 91

转载 [动态规划] leetcode 321 Create Maximum Number

problem:https://leetcode.com/problems/create-maximum-number/ 分治。计算第一个数组最大的和第二个数组最大的,然后结合起来找最大的。class Solution {public: void getMax(vector<int>& nums, vector<int&g...

2019-08-10 17:21:00 364

转载 [栈] leetcode 402 Remove K Digits

problem:https://leetcode.com/problems/remove-k-digits 单调栈。维护一个递增的栈,每pop一次意味着移除了一个元素,k--。减为0时不再移除。前导0处理起来很麻烦,很容易WA。class Solution {public: string removeKdigits(string num, int...

2019-08-10 16:18:00 76

转载 [动态规划] leetcode 279 Perfect Squares

problem:https://leetcode.com/problems/perfect-squares 数字类dp。查找当前数字减去一个平方数对应的最小拆分次数。class Solution {public: int numSquares(int n) { vector<int> dp(n + 1, INT_MAX...

2019-08-10 13:56:00 101

转载 [动态规划] leetcode 264 Ugly Number II

problem:https://leetcode.com/problems/ugly-number-ii 大的ugly number是由小的ugly number乘以系数2, 3, 5得到的,每次相乘后,取最小的作为下一个,然后把最小的值的当前指针向后挪一位。(用vector封装了一下速度更慢了,不用的话只要4ms)class Solution {publ...

2019-08-10 13:34:00 89

转载 [动态规划] leetcode 213 House Robber II

problem:https://leetcode.com/problems/house-robber-ii/ 多状态转换dp。我的方法是维护了四个状态。用两趟dp的基本思想也是多个状态。class Solution {public: int rob(vector<int>& nums) { int n = n...

2019-08-10 12:27:00 94

转载 [动态规划] leetcode 174 Dungeon Game

problem:https://leetcode.com/problems/dungeon-game 看了这道题的tag我用了二分 + 简化dp(只需求特定血量能否达到)来做,能过但是速度好慢。一看评论区发现大家都是用纯dp过的,我哭了。class Solution {public: int m, n; bool canSave(vect...

2019-08-10 11:47:00 103

转载 [动态规划] leetcode 152 Maximum Product Subarray

problem:https://leetcode.com/problems/maximum-product-subarray 类似买卖股票,需要维护两个状态,当前最大数和最小数。class Solution {public: int maxProduct(vector<int>& nums) { int res...

2019-08-10 01:01:00 92

转载 [动态规划] leetcode 139 Word Break

problem:https://leetcode.com/problems/word-break/ 划分类型问题。class Solution {public: bool wordBreak(string s, vector<string>& wordDict) { int n = s.size(); ...

2019-08-10 00:16:00 94

转载 [动态规划] leetcode 132 Palindrome Partitioning II

problem:https://leetcode.com/problems/palindrome-partitioning-ii/ 爬台阶类型问题。先计算出所有可能的回文串,dp[ i ] 代表前 i 个字符的最小划分,找到以 i 结尾的所有回文串,取划分最小的那个作为结果。class Solution {public: int minCut(st...

2019-08-09 23:54:00 98

转载 [动态规划] leetcode 115 Distinct Subsequences

problem:https://leetcode.com/problems/distinct-subsequences/ 字符匹配类型题目。class Solution {public: vector<vector<int>> dp; int numDistinct(string& s, string&am...

2019-08-09 23:02:00 72

转载 [动态规划] leetcode 44 Wildcard Matching

problem:https://leetcode.com/problems/wildcard-matching/ 用记忆化搜索做的,不容易出错:class Solution {public: vector<vector<int>> dp; bool isMatch(const string& s, cons...

2019-08-09 22:24:00 75

转载 [动态规划] leetcode 96 Unique Binary Search Trees

problem:https://leetcode.com/problems/unique-binary-search-trees/ 左子树个数 * 右子树个数class Solution {public: int numTrees(int n) { vector<int> dp(n + 1); dp[...

2019-08-09 22:00:00 84

转载 [动态规划] leetcode 95 Unique Binary Search Trees II

problem:https://leetcode.com/problems/unique-binary-search-trees-ii/ 用递归传最小值和最大值写起来代码应该会更简练,此处用的是递推写的。class Solution {public: TreeNode* clone(TreeNode* p, int val) { ...

2019-08-09 21:49:00 88

转载 [动态规划] leetcode 63 Unique Paths II

problem:https://leetcode.com/problems/unique-paths-ii 爬台阶类型问题(2D), 如果当前位置有障碍物就不进行状态转换。class Solution {public: int uniquePathsWithObstacles(vector<vector<int>>&amp...

2019-08-09 16:28:00 99

空空如也

空空如也

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

TA关注的人

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