自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode-139 139. 单词拆分

思路:dp,常见dp思路,将字符串分割为前后子串,如果前串满足需求,只需判断后串即可尝试?(IP分割问题)https://leetcode-cn.com/problems/word-break/bool wordBreak(string s, vector<string>& wordDict) { vector<int> dp(s.size() + 1); set<string> string_flag; for (int i

2021-03-19 10:06:27 81

原创 1143. 最长公共子序列

思路:编辑距离https://leetcode-cn.com/problems/longest-common-subsequence/int longestCommonSubsequence(string text1, string text2) { vector<vector<int> > dp(text1.size() + 1, vector<int>(text2.size() + 1, 0)); //从1开始不用去做复杂的第一行和第一列的操

2021-03-18 12:06:12 63

原创 dp-股票模版

1.常见题型

2021-03-18 10:47:33 100

原创 剑指 Offer 59 - I. 滑动窗口的最大值 deque

https://leetcode-cn.com/problems/hua-dong-chuang-kou-de-zui-da-zhi-lcof/思路:双端队列deque,//加入和删除数组,故使用双端队列,同时,deque只需要存储nums中的idx,就知道是否超出队列vector<int> maxSlidingWindow(vector<int>& nums, int k) { vector<int> res; deque<in

2021-03-17 11:43:04 55

原创 位运算-题解

1.剑指 Offer 15. 二进制中1的个数思路:二进制中最右边1设置为0(n & (n - 1))int hammingWeight(uint32_t n) { int res = 0; while(n) { n = n & (n - 1); res = res + 1; } return res;}2.剑指 Offer 39. 数组中出现次数超过一半的数字思路:int转化为32位进行统计int m

2021-03-17 09:51:25 56

原创 二分搜索

1.左区间2.右区间

2021-03-16 11:35:42 76

原创 lstm

lstm是从网上找到的两篇blog看到的,仅供参考学习。其中每一处的操作都是模型自动学习操作,模型训练时间较长。同时双向lstm就是从前到后、从后到前分别生成一个lstm,进行cat相连接就可以参考文献:https://zhuanlan.zhihu.com/p/97815919lstm具体流程图https://www.jianshu.com/p/4b4701beba92lstm简介以及变种...

2021-03-15 19:12:17 83

原创 循环神经网络

参考文献:https://www.jianshu.com/p/b38760250281

2021-03-15 17:45:45 71

原创 剑指 Offer 06. 从尾到头打印链表

https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof/思路:vector先push_back后进行reversevector<int> reversePrint(ListNode* head) { vector<int> res; while(head) { res.push_back(head->val); head = head

2021-03-13 12:09:18 47

原创 剑指 Offer 05. 替换空格

https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof/思路:原字符串替换string replaceSpace(string s) { int space_num = 0; for (int i = 0;i < s.size(); i++) { if (s[i] == ' ') { space_num += 1; } } int i = s.size(

2021-03-13 12:05:32 57

原创 剑指 Offer 04. 二维数组中的查找

https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/思路:二分bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) { if (matrix.size() == 0) { return false; } int left = 0; //右上角开始查找

2021-03-12 22:58:30 53

原创 剑指 Offer 03. 数组中重复的数字

https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof/思路:原地交换,mapint findRepeatNumber(vector<int>& nums) { for (int i = 0; i < nums.size(); i++) { //nums[i] != i排除已经排好序的情况 //nums[nums[i]] != nums[I],待交换

2021-03-12 22:53:45 60

原创 字符串-kmp

1.kmp

2021-03-12 10:44:26 60

原创 树的遍历

1.前序2.中序3.后续4.生成树

2021-03-10 11:24:05 143

原创 排序算法汇总

1.快排2.堆排3.归并

2021-03-08 14:30:26 78

原创 01背包、完全背包

本文主要使用一维数组进行使用意思:01背包:代表物品只有两种状态,只能使用一次。如,dp[i] = max(dp[i], dp[i - wight[j]] + value[j]) 代表容量为i所获得的最大利润。完全背包:一个物品可以使用无限次技巧:1.如果是0-1背包,即数组中的元素不可重复使用,nums放在外循环,target在内循环,且内循环倒序;(原因:倒序,后一个状态只依赖前一个状态,而nums是有顺序的,故只使用了一次)2.如果是完全背包,即数组中的元素可重复使用,nu.

2021-03-07 19:22:07 201

原创 leetcode题型分类

1.id:4(二分查找)2.id:5(中心扩展法)3.id:10(dp)

2021-03-07 12:28:46 682

原创 leetcode-461 汉明距离(位运算)

https://leetcode-cn.com/problems/hamming-distance/思路:位运算int hammingDistance(int x, int y) { int temp = x ^ y; int count = 0; while(temp) { if (temp & 1) { count += 1; } temp = temp / 2; } ret

2021-03-06 11:50:05 82

原创 leetcode-451 根据字符出现频率排序(priority_queue unordered_map使用)

https://leetcode-cn.com/problems/sort-characters-by-frequency/思路:priority_queue unordered_map使用string frequencySort(string s) { unordered_map<char, int> un_mp; priority_queue<pair<int, char>> pri_que; for (int i = 0; i &l

2021-03-06 11:44:45 130

原创 leetcode-424 替换后的最长重复字符(滑动窗口)

https://leetcode-cn.com/problems/longest-repeating-character-replacement/思路:滑动窗口int characterReplacement(string s, int k) { unordered_map<char, int> un_map; int max_value = 0; int left = 0; int res = 0; for (int i = 0; i <

2021-03-06 09:56:01 79

原创 leetcode-416 分割等和子序(01背包)

https://leetcode-cn.com/problems/partition-equal-subset-sum/思路:01背包bool canPartition(vector<int>& nums) { int sum = 0; for (int i = 0; i < nums.size(); i++) { sum += nums[i]; } if (sum % 2) { return false;

2021-03-06 09:37:13 94

原创 leetcode-413、446 等差数列划分

https://leetcode-cn.com/problems/arithmetic-slices/思路:dpint numberOfArithmeticSlices(vector<int>& nums) { if (nums.size() < 2) { return 0; } int res = 0; vector<int> dp(nums.size(), 0); for (int i = 2; i

2021-03-05 19:18:12 68

原创 leetcode-409

https://leetcode-cn.com/problems/longest-palindrome/思路:奇偶统计,mapint longestPalindrome(string s) { unordered_map<char, int> num; for (int i = 0;i < s.size(); i++) { num[s[i]] += 1; } int res = 0, flag = 0; for (int

2021-03-05 18:37:39 46

原创 leetcode-400

https://leetcode-cn.com/problems/nth-digit/思路:规律int findNthDigit(int n) { if (n < 10) { return n; } long long num = 9, i = 1; while(n - num >= 0) { n = n - num; i += 1; num = 9 * pow(10, i - 1) * i

2021-03-05 17:42:03 64

原创 leetcode-395、至少有 K 个重复字符的最长子串

https://leetcode-cn.com/problems/longest-substring-with-at-least-k-repeating-characters/思路:二分 void search(string s, int k, int start, int end, int &res) { if (start > end || end - start + 1 < k) { return; }

2021-03-05 10:37:28 77 1

原创 leetcode-394

https://leetcode-cn.com/problems/decode-string/思路:stackstring decodeString(string s) { stack<char> st; string res = ""; for (int i = 0;i < s.size(); i++) { if (s[i] == ']') { string temp = ""; while

2021-03-04 23:34:43 68 1

原创 leetcode-386

https://leetcode-cn.com/problems/lexicographical-numbers/思路:dfsvoid dfs(vector<int> &res, int n, int start) { if (start > n) { return; } for (int i = 0 ;i < 10; i++) { if (start * 10 + i <= n) {

2021-03-04 23:15:20 58 1

原创 leetcode-377

https://leetcode-cn.com/problems/combination-sum-iv/思路:dpint combinationSum4(vector<int>& nums, int target) { vector<unsigned long long> dp(target + 1, 0); dp[0] = 1; for (int i = 0; i <= target; i++) { for (int

2021-03-04 22:36:46 67 1

原创 leetcode-349 两个数组的交集

https://leetcode-cn.com/problems/intersection-of-two-arrays/思路:unordered_map、unordered_set应用vector<int> intersection(vector<int>& nums1, vector<int>& nums2) { vector<int> res; unordered_set<int> un_set;

2021-03-04 10:55:44 45 1

原创 leetcode-347、前K个高频元素

https://leetcode-cn.com/problems/top-k-frequent-elements/思路:priority_queue和unordered_map使用struct cmp { bool operator() (pair<int, int> a, pair<int, int> b) { return a.second < b.second; }};vector<int> topKFreque

2021-03-04 10:29:43 69 1

原创 leetcode-300 最长递增子序列

https://leetcode-cn.com/problems/longest-increasing-subsequence/思路:dpint lengthOfLIS(vector<int>& nums) { vector<int> dp(nums.size() + 1, 1); int res = 1; for (int i = 1; i < nums.size(); i++) { //遍历一遍,取当前i为尾的最长子

2021-03-04 09:48:43 48 1

原创 leetcode-322、leetcode-279

https://leetcode-cn.com/problems/coin-change/https://leetcode-cn.com/problems/perfect-squares/思路:dp,01背包int coinChange(vector<int>& coins, int amount) { vector<long> dp(amount + 1, INT_MAX); dp[0] = 0; for (int i = 1;i &l

2021-03-03 23:26:21 64 1

原创 leetcode-287

https://leetcode-cn.com/problems/find-the-duplicate-number/思路:二分int findDuplicate(vector<int>& nums) { int left = 1, right = nums.size() - 1; while(left < right) { int mid = (left + right) / 2; int cnt = 0;

2021-03-03 23:08:05 70 1

原创 leetcode-268

https://leetcode-cn.com/problems/missing-number/思路:二分查找int missingNumber(vector<int>& nums) { int left = 0, right = nums.size(); while(left < right) { int mid = (left + right) / 2; int count = 0; for (int i

2021-03-03 10:13:25 57

原创 leetcode-264

https://leetcode-cn.com/problems/ugly-number-ii/思路:dpint nthUglyNumber(int n) { if (n == 1) { return 1; } vector<int> dp(n, 0); dp[0] = 1; int num2 = 0, num3 = 0, num5 = 0; for (int i = 1; i < n; i++) {

2021-03-03 09:49:00 53

原创 leetcode-230 二叉搜索树中第K小的元素

https://leetcode-cn.com/problems/kth-smallest-element-in-a-bst/思路:中序遍历int kthSmallest(TreeNode* root, int k) { stack<TreeNode*> st; while(root || !st.empty()) { if (root) { st.push(root); root = root->l

2021-03-02 09:38:11 88

原创 leetcode-236 二叉树的最近公共祖先

https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-tree/思路:dfsTreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) { if (root == NULL ) { return root; } //p和q其中有一个重合,即为父节点 if (p == root || q

2021-03-01 23:13:15 68

原创 leetcode-235

https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-search-tree/思路:二叉搜索树性质TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) { if (root->val > min(p->val, q->val) && (root->val < max(

2021-03-01 23:11:42 80

原创 leetcode-231

https://leetcode-cn.com/problems/power-of-two/思路:位运算,2的幂,只有最高位是1,其余为0。所以n-1除了最高位剩余的都是1bool isPowerOfTwo(int n) { if (n <= 0) { return false; } if ((n & (n - 1)) == 0) { return true; } return false;}...

2021-03-01 21:55:03 43

原创 leetcode-234

https://leetcode-cn.com/problems/palindrome-linked-list/思路:快慢指针//链表反转ListNode* reverList(ListNode *head) { ListNode* res = nullptr; while(head) { ListNode *temp = head->next; head->next = res; res = head;

2021-03-01 21:53:19 61

Deep Learning-Bengio

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

2018-04-18

程序员的数学

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

2018-04-15

空空如也

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

TA关注的人

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