自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一道有意思的多线程题目

#include#include#include#include<condition_variable>using namespace std;int num = 3;std::mutex mtx;std::condition_variable con;void test(int flag){unique_lockstd::mutex lk(mtx);whil...

2019-08-30 23:54:21 125

原创 30. Substring with Concatenation of All Words 串联所有单词的子串

#include#include#include#include<unordered_map>using namespace std;vector getlen(string s, vector &vec){vector res;unordered_map<string, int> mapstr;for (auto x : vec){ma...

2019-08-28 23:18:40 66

原创 Substring with Concatenation of All Words 串联所有单词的子串

不是很难的一道题目。学习算法一定要先思考自己的算法,然后再去看别人的。日拱一卒,功不唐捐。#include#include#includeusing namespace std;vector getLen(string str1, vector &vec){vector res;int lenn = 0;while (!str1.empty()){bool flag...

2019-08-27 22:46:25 65

原创 [LeetCode] Find Minimum in Rotated Sorted Array 寻找旋转有序数组的最小值

1.首先二分查找,最小数字一定是小于等于右边的(只要是旋转过的)4 5 6 7 0 1 2 3#include#includeusing namespace std;int minT(int a, int b){if (a > b){return b;}return a;}int FindMinimumInRotatedSortedArray(vector &amp...

2019-08-27 07:18:37 122

原创 [LeetCode] Group Anagrams 群组错位词

题目不是很难#include#include#include#include #include #include#include#includeusing namespace std;vector<vector> GroupAnagrams(vector strvec){vector<vector> res;map<string, v...

2019-08-25 00:16:56 68

原创 [LeetCode] Simplify Path 简化路径

不是很难的一道题目通过字符串按照路径分隔开,再根据题目要求判断需要舍弃的字段,最后再拼接起来即可。#include#include#includeusing namespace std;vector getVec(string str){vector vecstr;while (!str.empty()){int pos = str.find(’/’);stri...

2019-08-24 00:00:13 88

原创 通过偏移获取结构体成员的变量

#includeusing namespace std;struct Test{int b;int a;char ch;};int main(){Test mytest;mytest.a = 111;mytest.b = 222;mytest.ch = ‘A’;int a = *(int *)((unsigned char *)&mytest + size...

2019-08-22 23:17:07 365

原创 [LeetCode] Happy Number 快乐数

unordered_set的使用#include#include<unordered_set>#includeusing namespace std;bool HappyNumber(int n){unordered_set numset;int sum = 0;while (n!=1){sum = 0;while (n){sum += (n % 10)*...

2019-08-20 07:26:04 95

原创 析构函数

#include#includeusing namespace std;class Test{public:Test(){cout << “new Test()” << endl;}~Test(){cout << “destory Test()” << endl;}};int main(){vector<Te...

2019-08-18 23:09:08 58

原创 [LeetCode] Next Permutation 下一个排列

比较简单的一道题目#include#include#include using namespace std;void NextPermutation(vector &vec){int num = vec.size() - 1;int i;for (i = num; i > 0; i–){if (vec[i] > vec[i - 1]){break;...

2019-08-17 11:02:53 67

原创 一道算法题目

给定一个数字a,求各个位数和与a的各个位数和相等,且比a大的第一个数字。#include#include#include#includeusing namespace std;int getSum(int n){int sum = 0;while (n){sum += n % 10;n = n / 10;}return sum;}int huanweishu(in...

2019-08-15 23:10:47 72

原创 有趣的 “切蛋糕“ 问题

一堆蛋糕大小固定。一群人食量固定。蛋糕可分不可合。求蛋糕最多可以满足多少人。在这个里面有一个比较容易知道和推导的关键点,在满足最多食客的组合中,一定有一个从最左边开始的连续的组合。二分查找来搜索最右边界。代码如下:#include#include#include#includeusing namespace std;bool canFeed(vector &a...

2019-08-15 07:45:58 264

原创 [LeetCode] 4. Median of Two Sorted Arrays 两个有序数组的中位数

为之,则难者亦易已要努力去做和学习自己感觉困难的事情#include#includeusing namespace std;int maxT(int a, int b){if (a > b){return a;}return b;}int minT(int a, int b){if (a < b){return a;}return b;}in...

2019-08-13 22:48:15 59

原创 315. Count of Smaller Numbers After Self 计算后面较小数字的个数

插入算法的实现#include#includeusing namespace std;vector getNumber(vector nums){vector t, res(nums.size());int n = nums.size();for (int i = n - 1; i >= 0; i–){int left = 0, right = t.size();...

2019-08-12 22:36:14 64

转载 315. Count of Smaller Numbers After Self 计算后面较小数字的个数

通过插入排序,从头到尾确认插入的顺序,那么它所在的位置既是比它小的数的的数量,很精彩的设计和分析#include#includeusing namespace std;vector getNumber(vector &nums){vector t, res(nums.size());for (int i = nums.size() - 1; i >= 0; --i) ...

2019-08-11 22:56:29 63

原创 315. Count of Smaller Numbers After Self 计算后面较小数字的个数

先来个暴力的办法#include#includeusing namespace std;vector CountofSmallerNumbersAfterSelf(vector vec){vector res(vec.size(), 0);int n = vec.size() - 1;for (int i = n - 1; i >= 0; i–){int j = -1;...

2019-08-10 16:18:35 73

原创 C++产生随机数

记下来,以后备用#include#include#include#include #include #includeusing namespace std;int main(){srand((unsigned)time(NULL));vector vec;int n = 5;int m = 10;for (int i = 0; i < 100; i++){v...

2019-08-10 00:06:03 51

原创 [LeetCode] Gas Station 加油站问题

1.算法分析:我们可以计算一个总的花费和gas之间的差值,当这个差值大于等于0的时候,肯定可以走完,并且有解。遍历每个加油站。定义一个sum来计算到当前加油站的花费。start定义开始的位置。当sumx小于0的时候,说明start到i都不可以作为起点。因为从start开始说明start的是正加油站。而start+1到i的和肯定是负加油站。所以start重置为i+1,sum=0。再次计算sum。...

2019-08-08 07:33:32 73

原创 线程安全的队列实现

#include #include #include #include <condition_variable>templateclass threadsafe_queue{public:threadsafe_queue() {}~threadsafe_queue() {}void push(T new_data){ std::lock_guard<s...

2019-08-07 23:23:17 357

原创 [LeetCode] Arithmetic Slices 算数切片

#include#includeusing namespace std;int ArithmeticSlices(vector vec){vector num(vec.size(), 0);int res = 0;for (int i = 2; i < vec.size(); i++){if (vec[i] - vec[i - 1] == vec[i - 1] - ve...

2019-08-06 23:04:43 73

原创 [LeetCode] Min Cost Climbing Stairs 爬楼梯的最小损失

爬楼梯的最小花费dp的数组等于楼梯数+1;返回最后一个即可。#include#includeusing namespace std;int minT(int a,int b){if (a > b){return b;}return a;}int MinCostClimbingStairs(vector vec){int n = vec.size();v...

2019-08-05 22:35:33 93

原创 [LeetCode] House Robber III 打家劫舍之三

比较有意思的一道题目。当抢劫一个节点的时候,它的左右子节点肯定不可以抢。当不抢劫一个节点的时候,它的左右子节点可抢,可不抢。我们在处理的过程中取最大值即可。#include#include#include #include #includeusing namespace std;struct TreeNode{int val;TreeNode lChild;TreeNod...

2019-08-04 20:30:40 64

原创 [LeetCode] House Robber II 打家劫舍之二

简单改一下打家劫舍的一的代码就行了#include#includeusing namespace std;int maxT(int a, int b){if (a > b){return a;}return b;}int RobberHouse(vector vec){vector dp(vec.size(), 0);dp[0] = vec[0];dp...

2019-08-04 00:37:35 70

原创 [LeetCode] Range Sum Query - Immutable 区域和检索 - 不可变

这段时间主要做DP的题目以后做题的目标,做一道会一道,举一反三。#include#includeusing namespace std;class RangeSumQueryImmutable{public:RangeSumQueryImmutable(vector &num){dp = num;for (int i = 1; i < num.size(); ...

2019-08-02 23:54:37 93

原创 [LeetCode] Jump Game 跳跃游戏

dp[i] = maxT(dp[i - 1], vec[i - 1]) - 1;走到当前i位置,还剩几步。我是这么理解。#include#includeusing namespace std;int maxT(int a, int b){if (a > b){return a;}return b;}bool JumpGame(vector &vec){ve...

2019-08-02 00:24:44 68

原创 [LeetCode] Jump Game 跳跃游戏

#include#includeusing namespace std;int maxT(int a, int b){if (a > b){return a;}return b;}bool JumpGame(vector &vec){int reach = 0;for (int i = 0; i < vec.size(); i++){if (i...

2019-08-01 00:42:28 63

空空如也

空空如也

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

TA关注的人

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