自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode:1419. 数青蛙(双指针,中等)

题目:分析:其实真的没想到自己能写出这么高质量的代码!首先进行了判断:for(int i=0;i<croakOfFrogs.size();i++) { m[croakOfFrogs[i]]++; if(!(m['c']>=m['r']&&m['r']>=m['o']&&m['o']>=m['a']&&m['a']>=m['k'])) return -1;

2020-12-31 13:23:37 243

原创 服务器上cuda跑程序出错:AssertionError: The NVIDIA driver on your system is too old

参考:https://blog.csdn.net/ccbrid/article/details/103045042

2020-12-30 12:07:09 634

原创 leetocde:面试题 16.11. 跳水板(简单,数学)

题目:分析:很好想,但是细节还是比较坑的。比如使用0块,结果应该是空,而不是0!长木板和短木板的长度是相同的,直接使用循环的话会陷入死循环。如果是多块木板呢?那么回溯搜素。一个典型的过程,不再赘述了!代码:class Solution {public: vector<int> divingBoard(int shorter, int longer, int k) { vector<int> ans; if(k==0) ret

2020-12-29 18:02:56 105

原创 leetcode:面试题 16.16. 部分排序(排序,双指针,中等)

题目:分析:自己想到了先找不按照熟顺序的,然后两边不断移动。最简单的方法当然是排序啦!代码1.排序水题:class Solution {public: vector<int> subSort(vector<int>& array) { vector<int> v=array; sort(v.begin(),v.end()); vector<int> ans={-1,-1};

2020-12-29 17:46:42 257

原创 leetcode:面试题 16.05. 阶乘尾数(數學,簡答)

題目:分析:分析问题抓不住核心,直接求除以5,除以25,除以125,的个数不就ok啦!so easy 自己在想些什么???代碼:class Solution {public: int trailingZeroes(int n) { long long c=5; int ans=0; while(n/c!=0) { ans+=(n/c); c=c*5; }

2020-12-28 18:07:22 126

原创 leetcode:面试题 16.06. 最小差(双指针,中等)

题目:分析:很不错的双指针问题,分析的也很妙,棒棒哒!代码:class Solution {public: int smallestDifference(vector<int>& a, vector<int>& b) { sort(a.begin(),a.end()); sort(b.begin(),b.end()); long long ans=2147483647; int aa=

2020-12-28 15:47:52 139

原创 leetcode:面试题 16.10. 生存人数(差分,中等)

题目:分析:不错,很快就想到了差分。代码:class Solution {public: int maxAliveYear(vector<int>& birth, vector<int>& death) { map<int,int> m; int min_=2000,max_=1000; for(int i=0;i<birth.size();i++) {

2020-12-28 15:32:58 173

原创 leetcode:面试题 01.09. 字符串轮转(字符串,简单)

题目:分析:以为是KMP看题解,直接拼接就可以啦!注意拼接这个思路,不止一次出现了。代码:class Solution {public: bool isFlipedString(string s1, string s2) { if(s1.length()!=s2.length()) return 0; if(s1==s2) return 1; string ss=s1+s1; for(int i=0;i<s1.le

2020-12-27 21:02:22 125

原创 题目:剑指 Offer 60. n个骰子的点数(中等,数学)

题目:分析:实在是想不出来!看了题解,唯一有的想法就是搜索,每次后面的只能大于等于当前搜索的,最后结合组合数乘一下就可以啦!盗取大佬的dpA【i】【j】表示前i个筛子,造成和为j的可能和。好像和背包问题挺像的。妙!,真的是妙!代码:class Solution {public: vector<double> dicesProbability(int n) { vector<double> ans; vector<ve

2020-12-27 17:33:34 125

原创 leetcode:面试题 01.08. 零矩阵(数组,中等)

题目:分析:虽然是简单题,但还是要强调一下,不能遇到0就修改,这样是错的。可以借助额外相等空间,但是也可以只借助一维的,直接记录那些行,哪些列需要被设置为零,最后统一进行设置。代码:class Solution {public: void setZeroes(vector<vector<int>>& matrix) { if(matrix.size()==0||matrix[0].size()==0) return ;

2020-12-27 14:53:45 189

原创 leetcode:211周赛:5638. 吃苹果的最大数目

题目:分析:个人感觉真的挺劝退的,感觉还是有一定难度的。我的思路:1.使用map记录x天才过期的苹果的数量。2.使用一个优先队列,记录下一次应该吃那一天的苹果。细节就不说了吧!代码:class Solution {public: int eatenApples(vector<int>& apples, vector<int>& days) { //首先,一定是先吃掉最快过期的苹果。 int ans=0;

2020-12-27 12:02:04 244

原创 leetcode:211周赛:5210. 球会落何处(中等)

题目:分析:模拟过程,再加一个记忆化搜索,别被题目吓住了。代码:class Solution {public: vector<vector<int> > vv; vector<int> ans; int f(int x,int m,vector<vector<int>>& grid) {//处于x位置 m行 if(m==grid.size()) return x;

2020-12-27 12:01:43 109

原创 leetcode:剑指 Offer 68 - II. 二叉树的最近公共祖先(树,简单)

题目:分析:感觉还是有一定难度的。以下代码用来判断已经找到两个点了:if((b1&&b2||b1&&b3||b2&&b3)) { ans=root; }这个是核心,其他的都ok吧!代码:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left;

2020-12-25 22:30:00 101

原创 leetcode:剑指 Offer 68 - I. 二叉搜索树的最近公共祖先(简单,树)

题目:分析:总感觉搜索树有一定的特征,忍住没看答案,终于想出来了,直接从根开始比较左右即可。代码:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */clas

2020-12-25 21:45:46 82

原创 leetcode:剑指 Offer 57 - II. 和为s的连续正数序列(双指针,简单)

题目:分析:不想说什么,双指针,只是自己细节一直出错!代码:class Solution {public: vector<vector<int>> findContinuousSequence(int target) { vector<vector<int> > vv; int e=target/2+1; int b=e-1; if(b+e==target) {

2020-12-24 22:53:51 86

原创 leetcode:剑指 Offer 54. 二叉搜索树的第k大节点(树,简单)

题目:分析:天哪,都想到要使用一个额外的数组,怎么就像不到更优化一点点的方法呢?第k小的代码:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class So

2020-12-24 19:32:28 85 1

原创 leetocode:剑指 Offer 53 - I. 在排序数组中查找数字 I(简单,二分)

题目:分析:字节面试的题库中的题。代码:class Solution {public: int search(vector<int>& nums, int target) { if(nums.size()==0||nums[nums.size()-1] < target||nums[0] > target) return 0; //找大于target的第一个位置。 int end; if(num

2020-12-23 17:37:03 82

原创 leetcode:剑指 Offer 55 - II. 平衡二叉树(树,简单)

題目:分析:也就是树的深度的稍稍进阶,稍稍改进。返回值要注意,此时函数的意义将节点作为根时的最大深度。代码:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */

2020-12-23 16:27:51 97

原创 leetcode:剑指 Offer 46. 把数字翻译成字符串(字符串,中等)

题目:分析:从数字角度写的,代码写的漂亮啊代码:class Solution {public: int ans; void f(int num) { if(num==0) { ans++;return ; } f(num/10); if(num>=10&&num%100<26&&num%100>=10) f(num/100);

2020-12-21 17:11:02 77

原创 leetcode:剑指 Offer 38. 字符串的排列(回溯)

题目:代码:class Solution {public: vector<string> ans; void f(string s,string a,vector<int> v) {//a 当前 if(s.length()==a.length()) { ans.push_back(a);return; } int last=' '; for(int i=0;i&lt

2020-12-21 16:23:01 73

原创 leetcode:剑指 Offer 24. 反转链表(简单,链表)

题目:分析:注意,不需要申请额外空间。代码:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* l = new ListNode(-1); void

2020-12-20 23:48:39 84

原创 leetcode:剑指 Offer 28. 对称的二叉树(树,简单)

题目:分析:题目中有说镜像和对称是有关系的。本题,如果从镜像考虑的话,则是从根节点开始比较。如果直接从对称考虑的话,是从左右子树开始比较的。左右子树是镜像的。代码:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NUL

2020-12-18 08:40:13 77

原创 leetocde:剑指 Offer 33. 二叉搜索树的后序遍历序列(中等,树)

題目:分析:很不錯的一道题。好像在洛谷上做过。最后一个是根。代碼:class Solution {public: bool f(vector<int>& postorder,int x,int y) { if(x>=y) return 1; int i=x; for(;i<y;i++) { if(postorder[i]>postorder[y]) br

2020-12-18 08:10:55 87

原创 leetcode:剑指 Offer 34. 二叉树中和为某一值的路径(树,中等)

题目:分析:如果做题不认真,不思考,还不如不做。本题和主站上有一道题是一样的,测试后发现自己犯了和上次一样的一个错误。如果到NULL才去判断,那么会导致:1.可能有一个子树的结点会被放进去。2.满足条件的被放两次。特错大错的代码:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; *

2020-12-17 15:08:08 89

原创 reverse:c++ 反转vector

#include<bits/stdc++.h>using namespace std;int main(){ vector<int> v={1,2,3}; reverse(v.begin(),v.end()); for(int i=0;i<3;i++) cout<<v[i]<<' ';}

2020-12-17 14:45:42 1594

原创 leetcode:剑指 Offer 21. 调整数组顺序使奇数位于偶数前面(双指针,简单)

题目:分析:不错,看完就知道是双指针了。写起来感觉和快排还有些像代码:class Solution {public: vector<int> exchange(vector<int>& nums) { int i=0,j=nums.size()-1; while(i<j) { while(i<j&&nums[i]%2==1) i++;

2020-12-16 11:52:41 80

原创 leetcode:剑指 Offer 26. 树的子结构(树,中等)

题目:分析:就是不认真,小错误太多了吧!!!刚开始忽略了B终止,而A还可以继续的情况。代码:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class So

2020-12-16 11:46:51 103

原创 c++的按位运算为什么报错?解决方案很简单。

代码及运行:#include<bits/stdc++.h>using namespace std;int main(){ int a=1; int b=3; cout<<a&b;} 这竟然还报错,无语了,肿么办?c++中,按位运算记得加括号呀!#include<bits/stdc++.h>using namespace std;int main(){ int a=1; int b=3; cout<<(a&amp

2020-12-14 09:50:00 631

原创 leetcode:剑指 Offer 07. 重建二叉树(树,)

题目:分析:注意看清題,人家要的是重构一颗二叉树。代碼:/** * 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:

2020-12-14 09:38:14 78

原创 leetcode:剑指 Offer 09. 用两个栈实现队列(简单,)

题目:分析:自己的做法,st1打主攻,st2打辅助插入元素,直接插入到st1中,弹出元素,st1中的全部弹出到st2中,除了第一个再弹回到st1中。class CQueue {public: stack<int> st1,st2; //st1存储,st2辅助 CQueue() { while(!st1.empty()) st1.pop(); while(!st2.empty()) st2.pop(); }

2020-12-13 20:19:42 99

原创 leetcode:219周赛: 石子游戏 VII(中等,博弈论)

题目分析:好像是10个月前的寒假接触过这个思路,没想到自己这次写出来了,但是t了。哎!T了的代码:class Solution {public: vector<vector<int> > vv; int f(int x,int y,vector<int> stones) { if(vv[x][y]!=-1) return vv[x][y]; if(x==y) {

2020-12-13 16:04:38 134

原创 leetcode:219周賽:比赛中的配对次数(简单,脑筋急转弯)

題目:我模拟的代码:class Solution {public: int numberOfMatches(int n) { int num=0; while(n!=1) { num+=n/2; n=(n+1)/2; } return num; }};零神说,直接返回n-1就行了。因为每一场比赛淘汰一组,一共淘汰了n-1组。因此一共有n-1场比赛。智

2020-12-13 15:07:42 273 1

原创 (xshell中)Linux服务器查看GPU的使用情况。

参考Linux查看显卡信息:lspci | grep -i vga可以看到有哪些GPU。查看某一块GPU显卡具体的信息:lspci -v -s 00:0f.000:0f.0是在使用第一条命令后出现的每一行的第一列的内容,为GPU显卡的编号。

2020-12-13 09:05:31 3667 1

原创 leetcode:面试题 10.09. 排序矩阵查找(二分,中等)

题目:分析:让我痛过的题目代码:class Solution {public: bool searchMatrix(vector<vector<int>>& matrix, int target) { //大于等于tar的第一个元素 if(matrix.size()==0||matrix[0].size()==0) return 0; if(matrix[matrix.size()-1][matrix[0].

2020-12-11 10:59:11 113

原创 leetcode:剑指 Offer 53 - II. 0~n-1中缺失的数字(简单,二分)

题目:分析:基础二分,但是不用库函数的话,如果面试,自己又凉凉了。代码:class Solution {public: int missingNumber(vector<int>& nums) { int a=0,b=nums.size()-1; int ans=-1; while(a<=b) { int c=a+(b-a)/2; //cout<

2020-12-11 10:27:20 79

原创 leetcode:509. 斐波那契数(简单,你能只借助两个额外的变量吗?)

题目:分析:苦中作乐。只用了2个额外定义的变量。 a2=a2+a1; a1=a2-a1;代码:class Solution {public: int fib(int n) { if(n==0) return 0; if(n==1) return 1; int a1=0,a2=1; for(int i=2;i<=n;i++) { a

2020-12-10 17:08:25 111

原创 leetcode:496. 下一个更大元素 I(单调栈,简单)

题目:分析:看到标签是栈,才意识到这是一道最简单的单调栈问题,值的细细的想一想了。O(∩_∩)O代碼:class Solution {public: vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) { vector<int> vv; if(nums1.size()==0) return vv;

2020-12-10 12:46:07 117

原创 leetcode:491. 递增子序列(中等,剪枝)

题目:分析:因为要具体的内容,所以必须要搜索,但是因为不能排序,所以搜索时应该引入一个set,来保证不重复的现象。写的还是不错的,能对原来的模板进行适时修改:代码:class Solution {public: vector<vector<int>> vv; void f(vector<int>& nums,vector<int> v,int x) { if(x==nums.size())

2020-12-10 10:28:45 120 1

原创 git,github,zsh,linux的入门教程:

因为属于必须掌握的知识,所以必须要学。github与git进行连接的详细教程:github与git连接之后,可以使得本地的代码与自己github上的代码相关联,可以进行在本地进行修改然后上传之类的操作。参考教程在linux上进行关联的文章:参考教程想在linux上下载github 的代码:1.直接使用git命令。2.可以先下载zip,然后上传到linux上。在linux上运行程序,我们一般会写脚本:我写的教程zsh:参考教程zsh是什么:Zsh属于Shell中的一种,但比Bash

2020-12-09 18:48:34 193

原创 leetcode:495. 提莫攻击(中等,数组)

题目:分析:天呐,看到lol激动到直接秒杀了该题(虽然本题本来就很简单)每次射击的中毒时间取决于下次时间与本次设计时间差 和 中毒最长时间的最小值。代码:class Solution {public: int findPoisonedDuration(vector<int>& timeSeries, int duration) { int ans = 0; if(timeSeries.size()==0) return 0;

2020-12-09 16:42:56 97

空空如也

空空如也

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

TA关注的人

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