自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ChasingTheFreeWind

只是个菜鸡罢了

  • 博客(105)
  • 资源 (6)
  • 收藏
  • 关注

原创 LeetCode 214场周赛(2020/11/01)

1. 能否连接形成数组哈希表其实比赛时第一题还想了好一会儿。其实这题思路很简单,用一个哈希表保存一维数组各个数字的位置。然后遍历二维数组pieces,然后对于pieces的每一个数组,判断该数组的值是否在一维数组中,是否在一维数组的位置是连续的即可。class Solution {public: bool canFormArray(vector<int>& arr, vector<vector<int>>& pieces) {

2020-11-01 21:07:31 29 1

原创 LeetCode第212场周赛(2020/10/25)

前两题略3. 最小体力消耗路径参考链接dijkstra优化#define INF 0x3f3f3f3fstruct Dist{ int x,y,z; Dist(int _x, int _y, int _z):x(_x), y(_y), z(_z){} bool operator < (const Dist& A) const { return z > A.z; } };class Solution {public:

2020-10-25 15:28:53 20

原创 剑指Offer刷题笔记

数组剑指Offer 03.数组中重复的数字思路运用了类似桶排序的思想。因为数字在0~n-1内,于是可以将值为x的元素放在下标为x的位置,如果放置时发现数组中下标为x的元素值已经是x了,则就找到了一个重复元素。时间复杂度O(n)空间复杂度O(1)代码class Solution {public: int findRepeatNumber(vector<int>& nums) { int i = 0; int N = nums.siz

2020-10-18 12:31:46 26

原创 leetcode链表题目整理

剑指Offer剑指Offer 06.从尾到头打印链表栈/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: vector<int> reversePrint(ListNo

2020-10-11 12:08:19 22

原创 二叉树的最近公共祖先(未完待续)

问题1.二叉搜索树的最近公共祖先剑指 Offer 68 - I. 二叉搜索树的最近公共祖先思路求二叉搜索树中的两个节点p,q的最近公共祖先的思路比较简单:①如果遍历到的节点node的值在p节点的值和q节点的值之间,则说明p,q分别在node的左右子树之中,则node就是p和q的最近公共祖先。②如果node的值大于p和q的值,则p和q应该都在node的左子树中,即此时递归查找node的左子树。③如果node的值小于p和q的值,则p和q应该都在node的右子树中,则此时递归查找node的右子树。

2020-10-04 21:11:33 13

原创 LeetCode第209场周赛(2020/10/04)

1. 特殊数组的特征值思路懒得思考,直接暴力代码class Solution {public: int specialArray(vector<int>& nums) { for(int i=1;i<1010;i++) { int cnt = 0; for(int j=0;j<nums.size();j++) { if(nu

2020-10-04 20:50:38 16

原创 LeetCode第207场周赛(2020/09/27)

1.重新排列单词间的空格代码class Solution {public: string reorderSpaces(string text) { int N = text.length(); int cnt = 0; for(int i=0;i<N;i++) { if(text[i]==' ') cnt++; } istringst

2020-09-27 11:59:03 14

原创 LeetCode第206场周赛(2020/09/13)

1. 二进制矩阵中的特殊位置代码class Solution {public: int numSpecial(vector<vector<int>>& mat) { int N = mat.size(); int M = mat[0].size(); vector<int> sumi(N); vector<int> sumj(M); for(int i=0

2020-09-13 20:49:12 19

原创 LeetCode第205场周赛(2020/09/06)

1. 替换所有的问号代码1class Solution {public: string modifyString(string s) { int N = s.length(); if(s[0]=='?') { for(int p = 'a'; p<='z'; p++) { if(s[1]!=p) {

2020-09-06 23:36:22 19

原创 leetcode 第204场周赛 (2020/08/30)

1.重复至少k次且长度为M的模式class Solution {public: bool containsPattern(vector<int>& arr, int m, int k) { int N = arr.size(); for(int i = 0; i + k * m <= N; i++) { bool flag = true; for(int j = i; j

2020-08-30 21:25:45 19

原创 leetcode 第201场周赛 (2020/08/09)

1. 整理字符串思路代码1暴力class Solution {public: string makeGood(string s) { int N = s.length(); string ans = s; while(1) { N = ans.length(); string tmp = ""; bool flag = false;

2020-08-09 21:20:56 47

原创 leetcode 周赛(2020/08/02)

可以说本次周赛是最近几次最最最简单的了。。。但是依然表现不佳,写的时候甚至感觉手有些生疏了。算法思路都是有的,但是总是没有想得很清晰完善,于是就是“答案错误”。1.统计好三元组暴力代码class Solution {public: int countGoodTriplets(vector<int>& arr, int a, int b, int c) { int N = arr.size(); int ans = 0;

2020-08-02 21:32:14 32

原创 leetcode 周赛 (2020/07/26)

1. 重新排列字符串class Solution {public: string restoreString(string s, vector<int>& indices) { map<int,int> pos; string str; int n = indices.size(); for(int i=0;i<n;i++) { pos[indices[

2020-07-26 12:47:04 32

原创 leetcode 周赛(2020/07/19)

微软专场,较为困难1. 换酒问题class Solution {public: int numWaterBottles(int numBottles, int numExchange) { int remains = numBottles; int ans = remains; while(remains>=numExchange) { //ans += remains; i

2020-07-26 12:34:58 40

原创 二叉树遍历栈实现

中序遍历/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: vector<int> inorderT

2020-07-18 00:26:25 44

原创 leetcode周赛 (2020/07/05)

1. 判断能否形成等差数列class Solution {public: bool canMakeArithmeticProgression(vector<int>& arr) { if(arr.size()<=1) return true; sort(arr.begin(),arr.end()); int diff = arr[1] - arr[0]; for(int i=1;i

2020-07-16 23:52:31 25

原创 leetcode周赛 (2020/07/12)

1. 好数对的数目思路直接暴力代码class Solution {public: int numIdenticalPairs(vector<int>& nums) { int N = nums.size(); if(N<1) return 0; int ans = 0; for(int i=0;i<N;i++) { for(int

2020-07-12 14:21:00 36

原创 leetcode周赛 (2020/06/28)

5448.判断路径是否相交集合查找class Solution {public: bool isPathCrossing(string path) { set<pair<int,int>> s; int curx = 0; int cury = 0; s.insert(make_pair(curx,cury)); for(int i=0;i<path.length();i++)

2020-06-28 15:39:37 39

原创 leetcode周赛 (2020/06/21)

一直忘了更新周赛挺难先更钱两题1. 数组异或操作class Solution {public: int xorOperation(int n, int start) { int ans = 0; for(int i=0;i<n;i++) { ans ^= start+2*i; } return ans; }};2. 保证文件名唯一class Solution {

2020-06-23 16:15:57 36

原创 leetcode周赛 (2020/06/15)

1. 一位数组的动态和class Solution {public: vector<int> runningSum(vector<int>& nums) { vector<int> sum; int N = nums.size(); sum.resize(N); sum[0] = nums[0]; for(int i=1;i<N;i++) {

2020-06-15 01:11:47 47

原创 leetcode每日一题 87.扰乱字符串(递归、动态规划)

题目链接递归自顶向下的思路class Solution {public: bool judge(string s1, string s2) { if(s1==s2) return true; int N = s1.length(); string t1 = s1; string t2 = s2; sort(t1.begin(),t1.end()); sort(t2.

2020-06-10 10:56:33 65 2

原创 leetcode每日一题 面试题46. 把数字翻译成字符串 (动态规划)

很简单的一个动态规划class Solution {public: int translateNum(int num) { stringstream ss; ss<<num; string s = ss.str(); int N = s.length(); vector<int> dp; dp.resize(N+1); dp[0] = 1; d.

2020-06-09 10:21:35 50

原创 leetcode每日一题 990. 等式方程的可满足性(并查集)

class Solution {public: map<int,int> father; int Find(int x) { int r = x; while(father[r]!=r) r = father[r]; int i = x; int j; while(father[i]!=i) { j = father[i];.

2020-06-08 11:21:20 39

原创 PAT30分题目大集合

PAT又延期了。。现在先每天整理几个题,熟悉结题思路树PAT 1014 Waiting in Line (30分)二叉树题目大总结

2020-06-08 10:04:52 71

原创 PAT1004 Counting Leaves (30分)

思路应该是个很简单的题给一棵树,让输出每层叶子节点的个数。用一个结构体Node存储节点的children,然后从根节点开始遍历,遇到叶子节点,该层叶子节点数+1代码#include <iostream>#include <cstdio>#include <cstring>#include <string>using namespace std;#define MAX 110struct Node{ int num; .

2020-06-08 09:33:40 54

原创 leetcode周赛 2020/06/07

这周周赛发挥不佳1. 重新排列数组class Solution {public: vector<int> shuffle(vector<int>& nums, int n) { vector<int> ans; for(int i=0;i<n;i++) { ans.push_back(nums[i]); ans.push_back(nums[i+n]

2020-06-07 13:03:21 57

原创 leetcode每日一题 128.最长连续序列(并查集)

并查集思路并查集,遍历数组,如果该数字+1在数组中则将它们合并。代码class Solution { unordered_map<int,int> father,cnt; int Find(int x) { int r = x; while(r!=father[r]) { r = father[r]; } int i = x; int j; .

2020-06-06 12:18:00 47

原创 leetcode每日一题 面试题29. 顺时针打印矩阵

class Solution {public: vector<int> spiralOrder(vector<vector<int>>& matrix) { vector<int> ans; int N = matrix.size(); if(N==0) return ans; int M = matrix[0].size(); int .

2020-06-05 18:12:44 41

原创 PAT 1150 Travelling Salesman Problem (25分)

题目链接#include <iostream>#include <cstdio>#include <cstring>#include <vector>#include <set>#define INF 0x3f3f3f3f#define MAX 210using namespace std;int graph[MAX][MAX];int N,M;int main(){ scanf("%d%d",&N,&am

2020-06-05 17:28:44 27

原创 leetcode周赛 (2020/05/31)

复习期末了,这周周赛水一水1. 数组中两元素的最大乘积代码class Solution {public: int maxProduct(vector<int>& nums) { int N = nums.size(); sort(nums.begin(),nums.end()); return (nums[N-1]-1)*(nums[N-2]-1); }};2. 切割后面积最大的蛋糕代码const in

2020-05-31 13:39:33 89

原创 leetcode 91.解码方法(动态规划)

代码dp[i] = dp[i-1] + dp[i-2] ((s[i-2]-‘0’)*10+s[i-1])dp[i] = dp[i-1] others这题还需要注意0的判定。。。"01"的答案是0,"10"的答案是1class Solution {public: int numDecodings(string s) { int N = s.length(); if(s[0]=='0') .

2020-05-25 13:02:42 59

原创 leetcode周赛 (2020/05/24)

纪念第一次"AK"(12:02 AK。。。最后一题太蠢了 这么简单个动态规划,找bug找了很久)leetcode最近周赛好像越来越简单了啊,最后一题的动态规划也不难。1. 检查单词是否为句中其他单词的前缀代码class Solution {public: int isPrefixOfWord(string sentence, string searchWord) { istringstream ss(sentence); string word;

2020-05-24 12:17:38 89

原创 kaggle入门:Titanic: Machine Learning from Disaster(决策树+随机森林)

背景最近数据仓库与数据挖掘布置一个作业,就是分析这个Titanic数据集。作为一个菜鸡,看了几本关于深度学习的书,也修了机器学习这么课。但依然改变不了我是个菜鸡中的菜鸡的事实。自学的过程中,感觉跌跌撞撞,学了半天感觉还没入门,只会调包,甚至调包都不熟练,没有系统地学习,掌握的知识非常之零散。写代码从来都是百度+Ctrl C+Ctrl V。这次布置了这个题,就想借此机会好好做一下,顺便入门一下kaggle。...

2020-05-22 00:18:37 93

原创 leetcode周赛 (2020/05/17)

这次周赛的题比较暴力,没有涉及什么算法,最后一个题是个数学题。1. 在既定时间做作业的学生人数思路暴力即可代码2. 重新排列句子中的单词思路排序即可代码class Solution {public: static bool cmp(pair<string,int> p1,pair<string,int> p2) { if(p1.first.length()==p2.first.length()) retur

2020-05-17 16:03:08 91

原创 PAT 1146 Topological Order (25分)

虽然是考拓扑排序。。。但是不需要用什么算法。。。#include <iostream>#include <cstdio>#include <cstring>#include <vector>#include <set>#define MAX 1010using namespace std;vector<int> from[MAX];int N,M,K;int main(){ scanf("%d%d",&a.

2020-05-15 11:05:59 98

原创 树形dp入门(未完待续)

没有上司的舞会树形dp用vector建图,找到没有boss的那个点,从这个点开始dfs而每个点都有两种情况,一是选择这个点取得的最大值和不选取得最大值,dp[i][1]表示选择这个点时的最大值, dp[i][0]表示不选这个点取得最大值,方程式为 dp[x][0]+=max(dp[i][1],dp[i][0]);dp[x][1]+=dp[i][0];#include <iostream>#include <cstdio>#include <vector>#

2020-05-15 00:44:09 103

原创 leetcode每日一题 136.只出现一次的数字

异或操作:任何数异或0得0,任何数异或自己得0。根据这个性质就可在时间复杂度O(N),空间复杂度O(1)之下求到答案。class Solution {public: int singleNumber(vector<int>& nums) { int single = 0; for(int num:nums) single^=num; return single; }};...

2020-05-14 21:04:18 92

原创 PAT 1142 Maximal Clique (25分)(细节题)

细节题,为什么PAT第三题都不涉及什么算法啊,有点奇怪。#include <iostream>#include <cstdio>#include <map>#include <set>#include <vector>#define INF 0x3f3f3f3fusing namespace std;int Nv,Ne;int graph[210][210];int main(){ scanf("%d%d",&amp.

2020-05-14 20:55:55 97

原创 背包九讲的简单讲解与实现

简介动态规划的思想是非常容易理解的,但是对于某个问题要想到对应的递推式往往不那么容易。学习过01背包、完全背包,可是在我脑中的印象似乎并不那么深刻,为了巩固与提升,看了B站某大佬讲解,讲得细致、透彻,收获颇丰。为了巩固与提升,写一篇博客记录一下。01背包首先来看最简单的背包问题思路设dp[i][j]为前i件物品共选中体积为j物品的最大价值。对于每一个物品都有选和不选两种情况,那么就有递推式dp[i][j] = max(dp[i-1][j], dp[i-1][j-v[i]]+w[i])代码1

2020-05-13 21:34:40 232

原创 PAT 1138 Postorder Traversal (25分)

题意已知前序中序求后序第一个数字代码#include <iostream>#include <cstdio>#include <algorithm>#define MAX 50010using namespace std;int pre[MAX];int in[MAX];int ans=-1;int N;void getPost(int pL,int pR,int iL,int iR){ if(ans>0) ret.

2020-05-13 11:55:54 74

Stack Overflow小数据集

Stack Overflow小数据集(含问题和标签,训练集10万条,验证集3万条,测试集2万条,tsv格式)。

2019-12-11

Computer Networking A Top-Down Approach 6th 计算机网络——自顶向下方法第六版英文原版

Computer Networking A Top-Down Approach 6th 计算机网络——自顶向下方法第六版英文原版(James F. Kurose University of Massachusetts, Amherst Keith W. Ross Polytechnic Institute of NYU)

2019-03-19

操作系统概念(第六版)翻译版

Abraham Siberschatz, Peter Baer Galvin, Greg Gagne著, 郑扣根译,高等教育出版社

2019-03-19

深入浅出MFC电子书PDF

MFC入门书籍深入浅出MFC电子书pdf版本,共有五个部分。

2018-09-04

C primer plus第6版部分练习题答案

C语言经典书籍 C Primer plus第6版编程练习题的部分答案。

2018-09-04

万花筒小程序

使用图形库ezWin制作一个万花筒小程序,该程序随机生成不同颜色不同大小的万花筒。

2018-09-04

空空如也

空空如也

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

TA关注的人 TA的粉丝

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