自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LaTex 初学者

符号大全插入图片箭头符号汇总

2021-12-21 20:13:13 356

原创 算法平台输入输出的练习

题目一:AC:#include<bits/stdc++.h>using namespace std;int main(){ int a,b; while(cin>>a>>b) { cout<<a+b<<endl; }}输出错误:#include<bits/stdc++.h>using namespace std;int main(){ int a,b; while(1) { cin>

2021-09-13 16:51:18 267

原创 leetcode:5719. 每个查询的最大异或值(周赛,位运算,困难)

题目:分析:日狗:原来有分配律:我当时的做法:对于arr1 中的某个元素 a对于arr2中的某个元素 [b1.b2…b3]我们先只考虑 某一个a(a and b1) xor (a and b2) xor (a and b3)结果的二进制表示,某一位为0还是为1,由(a and b1),(a and b2) ,(a and b3)对应位置是0还是1决定。那么当a的某一个位置是0,and的结果一定是0,0异或之后还是0.那么当a的某一个位置是1,and的结果就是b1,b2,b3

2021-04-18 12:48:47 276

原创 leetcode:1824. 最少侧跳次数(dp,中等)第 236 场周赛

题目:分析:一道不错的dp。每一列需要进行传递,但是最优值是不能确定的,跟新完这个,那个的最优值才能出现,因此,我的处理方式是多几轮,很好,很妙周赛题,代码就只追求通过了。代码:class Solution {public: int minSideJumps(vector<int>& obstacles) { vector<int> v(3,0); vector<vector<int> > vv(

2021-04-13 13:20:08 231

原创 leetcode:1037. 有效的回旋镖(数学,简单)

题目:分析:虽然很简单,但还是被碾压~我的菜菜代码:分别考虑了多种情况,因为有零,所以不敢直接比较。那把除转化成乘不就ok了吗?class Solution: def isBoomerang(self, p: List[List[int]]) -> bool: if (p[0][0]==p[1][0] and p[0][1]==p[1][1]) or (p[0][0]==p[2][0] and p[0][1]==p[2][1]) or (p[2][0]==p[1][0

2021-04-07 11:00:44 191

原创 leetcode:1030. 距离顺序排列矩阵单元格(简单,排序,广搜)

题目:分析:看完题目觉得是广搜,但是总感觉应该是有特殊的,没想到直接是如下这个图:看下图,每个点都对应着四个点,每一次一条边上的和相等。代码:一直出错,先放弃了~方法二:也可以当做排序来做,python3的排序如下:class Solution: def allCellsDistOrder(self, R: int, C: int, r0: int, c0: int) -> List[List[int]]: ret = [(i, j) for i in ra

2021-03-22 10:05:43 131 3

原创 leetcode:744. 寻找比目标字母大的最小字母(简单,二分)

题目:分析,虽然是简单题,但是,准备,面试绝对不能眼高手低。方法1:调用库函数:lower_bound() 寻找大于等于upper_bound() 寻找大于。返回的是指针:获取下标:lower_bound() - v.begin或者 * lower_bound() 直接访问元素。但是:如果不存在,那么返回的是最后一个位置的下一个位置,直接* 有些编译器会报错,有些返回0。所以,一般应该先判断最后一个元素,在使用。class Solution {public:

2021-03-06 09:05:33 111

原创 leetcode:1038. 把二叉搜索树转换为累加树(树,中等)

題目:我的思路:也挺不錯的!!!/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), r

2021-02-26 19:51:52 100 1

原创 leetcode:1010. 总持续时间可被 60 整除的歌曲(数学)

题目:分析:取余就ok!!!代码:class Solution {public: int maximumScore(vector<int>& nums, vector<int>& m) { vector<int> v(m.size()+1,0); vector<vector<int> > vv(m.size()+1,v); //初始化 for(int

2021-02-25 22:59:00 65

原创 leetcode:5687. 执行乘法运算的最大分数(区间dp)

題目:分析:显然,还是一个区间dp问题。然后直接记忆化的dp,结果又超时了,加法可以用前缀和来优化,乘法显然不可以,只能从dp实现上考虑如何优化。代码1:T了:class Solution {public: int f(int x,int y,int c,vector<vector<int> > vv,vector<int> v,vector<int>& nums) { if(c==v.size()) retu

2021-02-25 22:31:44 108

原创 leetcode:1028. 从先序遍历还原二叉树(困难,树)

题目:分析:刚开始,我以为是返回数组。那太简单了。嗯,要构造一颗树。还可以吧。如果节点只有一个子节点,那么保证该子节点为左子节点。唯一性。感觉不难。good,自己一次秒杀!(就是细节还是调了一小下)代码:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode()

2021-02-20 22:27:42 82

原创 leetcode:1029. 两地调度(中等)

题目:分析:看完题目之后,个人思路:暴力的话就是 2的n次方 的复杂度。然后应该就是再次基础上进行的一个剪枝吧!然后看标签是一个贪心。然后想了想,2N * 2个数据中,最大,最小的那个数据都有可能被选到的。最值贪心不行。题解:可以直接理解:A【i】-B【i】或者按照题解:全部都去A,花费sum,然后要减去(B【i】- A【i】),为去B而不去A多出来的费用,sum-n/2 个(B【i】- A【i】),sum是一定的,然后减去的当然越小越好。代码:class Solution {

2021-02-20 17:54:10 111

原创 leetcode:1026. 节点与其祖先之间的最大差值(树,中等)

題目:分析:記錄两个最值即可,没什么意思。代碼:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nu

2021-02-19 10:14:17 98

原创 leetcode:1004. 最大连续1的个数 III(双指针,中等)

題目:分析:显然,一道痕普通的双指针,不再赘述。代碼:class Solution {public: int longestOnes(vector<int>& A, int k) { if(k==0) { int ans=0; int c=0; for(int i=0;i<A.size();i++) {

2021-02-19 09:46:55 94

原创 leetcode:1027. 最长等差数列(dp,中等)

题目:分析:我的想法:A【i】【j】是 以第i个元素为结尾时,公差为j,应该设立两个,因为公差还有可能是负的。然后每次遍历i之前的就可以啦!代码:class Solution {public: int longestArithSeqLength(vector<int>& A) { if(A.size()==0) return 0; if(A.size()==1) return 1; int maxx=A[0],minn

2021-02-18 22:24:52 77

原创 leetcode:1020. 飞地的数量(中等,dfs)

题目:分析:虽然是一道水题。但是还是有技巧的,从四个方向进行搜索即可。代码:class Solution {public: void f(vector<vector<int>>& A,int x,int y,int len1,int len2) { if(x<0||x>len1) return ; if(y<0||y>len2) return ; if(A[x][y]==0)

2021-02-18 13:35:23 88

原创 leetcode:995. K 连续位的最小翻转次数(困难,贪心,差分)

题目:分析:在洛谷上应该做过。但是依然没有想出来,看到贪心标签才想起来当时是只管后面,不管前面。 虽然不清楚为啥,仅仅是感觉。这次细细看看题解。本来想直接进行模拟,ok,然后想到了差分。class Solution {public: int minKBitFlips(vector<int>& v, int K) { vector<int> v2(v.size()+2,0); int k=0; int i

2021-02-18 11:20:30 110 1

原创 leetcode:1021. 删除最外层的括号(简单)

题目:分析:虽然很简单,但是觉得自己的思路以及代码质量都是不错的。代码:class Solution: def removeOuterParentheses(self, S: str) -> str: stack = [] i = 1 s='' cnt1=0 cnt2=0 while i < len(S): if cnt1==cnt2

2021-02-16 08:21:58 111

原创 leetcode:1023. 驼峰式匹配(双指针,中等,贪心)

题目:分析:看完題感觉没什么意思,就是一个双指针。想了一会也没想出题的亮点。看题解才看到亮点,也是设置为精华的原因,不用双指针那么复杂,删掉模式串,剩下的都是小写,那么就是true了。本人还是太菜了。但是代码实现好像是一样的啊啊!差不多。代码:class Solution {public: bool f(string s,string pattern) { int i=0;//queries int j=0;//pattern

2021-02-12 11:32:31 1212 2

原创 leetcode:703. 数据流中的第 K 大元素(简单)-----利用队列队列一次如何找到第k个元素,最后只pop一次。

题目:官方代码:最讨厌多个函数的题目:class KthLargest {public: priority_queue<int, vector<int>, greater<int>> q; int k; KthLargest(int k, vector<int>& nums) { this->k = k; for (auto& x: nums) { a

2021-02-11 11:41:53 360 1

原创 leetcode:567. 字符串的排列(中等,双指针+哈希表)

题目:分析:一道很简单的题,各种细节错误层出不穷。看完就有思路的题竟然提交了四次。双针针是为了防止:s1=‘abcd’s2=“abcabcabcabcabcabcabcabcabcabcabcabcabcabcd防止时间复杂度退化到o(n2)代码:class Solution {public: bool checkInclusion(string s1, string s2) { map<char,int> m; for(int i=0;

2021-02-10 10:35:12 111

原创 leetcode:665. 非递减数列(简单,其实不简单,数组)

題目:分析:问题可以转化为去掉一个元素之后,是否可以转化为非递减数列。代碼1:我认为不满足:if(nums[i]<=nums[i+1])的个数小于等于1就可以啦。非也。这个简单其实不简单。:无非两种情况。可以依据上面的判断写代码。题解:直接归纳为i-1和i+1的关系。、class Solution {public: bool checkPossibility(vector<int> &nums) { int n = nums

2021-02-07 11:50:02 135

原创 leetcode:1423. 可获得的最大点数(中等,不是区间dp)

题目:分析:之前做过没做过也应该能看出是区间dp。只用增加一个维度,表明从左还是从右。能拿的个数由当前长度简洁给出了。不用给定方向,dp的维度为2时,代码T了:class Solution {public: vector<vector<int> > A; int f(int a,int b,int k,vector<int>& cardPoints) { if(k==0) return 0;

2021-02-06 09:41:05 124

原创 leetcode:1208. 尽可能使字符串相等(中等,双指针)

题目:分析:看完题,稍稍想一下就想到了双指针。但是本菜鸡手生了写的代码真的垃圾。明明可以预处理成1个数组的。低质量代码:class Solution {public: int equalSubstring(string s, string t, int maxCost) { int a=0,b=0; int maxx=0; int c=0; if(maxCost==0) { for

2021-02-05 12:57:26 99

原创 leetcode:1024. 视频拼接(中等,贪心)

题目:分析:快3周没写代码了。以后再次恢复正常情况下每天1-3题吧。不是区间dp问题,自己还是想了1-2min的。一个贪心题,还是挺容易想的。代码:class Solution {public: static bool cmp(vector<int> &a,vector<int> &b) { if(a[0]==b[0]) return a[1]<b[1]; return a[0]<b[0];

2021-02-04 20:54:43 2257 1

原创 图神经网络:dgl官方教程( 一 )

1.1 关于图的基本概念1.2 图、节点和边1.3 节点和边的特征1.4 从外部源创建图1.5 异构图1.6 在GPU上使用DGLGraph2.1 内置函数和消息传递API2.2 编写高效的消息传递代码2.3 在图的一部分上进行消息传递2.4 在消息传递中使用边的权重2.5 在异构图上进行消息传递...

2021-02-03 11:43:25 2471

原创 leetcode:225周赛:5663. 找出第 K 大的异或坐标值(异或,dp)

题目:分析:真简单,可惜当是看是异或就放弃了。n[i][j]=n[i-1][j]^n[i-1][j-1]^n[i][j-1]^m[i][j];代码:class Solution {public: int kthLargestValue(vector<vector<int>>& m, int k) { vector<vector<int>> n=m; priority_queue<int&gt

2021-01-25 13:29:01 118

原创 leetcode:225周赛:5662. 满足三条件之一需改变的最少字符数(双指针)

题目:分析:排序,然后,双指针。代码:class Solution {public: int minn=1<<30; int f(string s1,string s2) {//s1严格小于s2 if(s1[s1.size()-1]<s2[0]) return 0; //枚举修改:s1的后半段,s2的前半段。 //先特殊,s1中不能包含‘z’ s2中不能包含‘a’ int ans=0;

2021-01-24 18:54:07 95

原创 机器学习:kaggle入门学习一些笔记

1.机器学习概述。2.kaggle上下载的文件都是csv格式的,可以直接调用python的csv库进行处理:参考import csvf = csv.reader(open('1111.csv','r'))for i in f: print(i)代码结果:['测试1', '软件测试工程师']['测试2', '软件测试工程师']['测试3', '软件测试工程师']['测试4', '软件测试工程师']['测试5', '软件测试工程师']...

2021-01-18 12:23:32 347

原创 leetcode:224周赛:5655. 重新排列后的最大子矩阵(中等)

题目:分析:还行自己写出来啦。思路:1.变标注,值为该列从该位置开始连续1的个数,2.枚举,从i=1~n,底边为i的矩形的最大高度。一个三重循环。代码:class Solution {public: int largestSubmatrix(vector<vector<int>>& matrix) { if(matrix.size()==0) return 0; int maxx=0; for(int

2021-01-17 12:11:19 138

原创 leetcode:第 224 场周赛:5243. 同积元组(简单,哈希表)

題目:分析:大意啊,自己还以为是4数相加问题,三重循环+二分/哈希,一直T,最后意识到不是四数之和,直接二重循环找出所有的和,c(n,2)然后就Ok啦!可惜,要不排名就能再创新高了,哎代码:class Solution {public: int tupleSameProduct(vector<int>& nums) { map<long long,int> m; sort(nums.begin(),nums.end())

2021-01-17 12:08:04 126

原创 leetcode:69. x 的平方根(简答,二分)

题目:分析:二分代码:class Solution {public: int mySqrt(int x) { int a=0,b=x,ans=0; while(a<=b) { int c=a+(b-a)/2; if((long long)c*(long long)c<=(long long)x) { ans=c;

2021-01-13 19:38:10 101

原创 leetcode:面试题 04.05. 合法二叉搜索树(中等,二叉搜索树)

题目:分析: return f(min((long long)root->val,x),y,root->left) && f(x,max((long long)root->val,y),root->right);这个条件分析刚开始还写错了啊左子树的话,应该增加一个上限,但是之前子树,有一个更小的上限。右子树的话,应该增加一个下限,但是之前子树,有一个更大的下限。简直胡说八道。代码:/** * Definition for a binary tr

2021-01-11 21:13:45 106

原创 leetcode:面试题 04.09. 二叉搜索树序列(树,困难)

题目:分析:自己已经想的很明白了,可是就是不会实现,其实使用一个动态的vector就可以啦,但是其中存放的是指针的值。太菜了。代码:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL)

2021-01-11 20:36:03 108

原创 leetcode:面试题 10.02. 变位词组(中等,为什么不用并查集)

题目:分析:想到两个思路,一个是排序。然后使用哈希表。map一个是并查集。这个题就可以使用排序+哈希。因为属于哪一个类一看就看出来了。而并查集问题一般给集合,所以不能用上述方法。代码:排序,哈希:class Solution {public: vector<vector<string>> groupAnagrams(vector<string>& strs) { vector<vector<string>

2021-01-11 12:06:02 130

原创 leetcode:5634. 删除子字符串的最大得分(贪心,栈)

题目:分析:都想到了贪心,先ab或ba,选择分数大的。奈何只想到了replace,没有想到栈,太菜了。代码:class Solution {public: int maximumGain(string s, int x, int y) { stack<int> st; for(int i=s.size()-1;i>=0;i--) { st.push(s[i]); }

2021-01-10 16:54:15 133

转载 albert:在bert基础上做了简化

参考

2021-01-07 22:38:02 122

原创 图神经网络dgl包的安装问题

dgl官网:https://www.dgl.ai/pages/start.html官方安装方式无法使用:无cuda安装:pip3 install dgl -i https://mirrors.aliyun.com/pypi/simple/cuda10安装:python3 -m pip install dgl-cu100 -i https://mirrors.aliyun.com/pypi/simple/DGL默认使用pytorch作为底层神经网络库参考...

2021-01-07 12:52:11 4635 1

原创 c++:STL:优先队列的定义

优先队列:priority_queue定义1:最简单。priority_queue<int> q;队列从头至尾,是从大到小。定义2:结构体。定义3:greater,less从头到尾是递增的。priority_queue<int,vector<int>,greater<int> > q;从头到尾是递减的。priority_queue<int,vector<int>,less<int> > q;...

2021-01-04 18:18:18 179

原创 leetcode:222周赛:5642. 大餐计数(数学,中等)

题目:分析:自己想到的三点:非常好!1.判断一个数是不是2的倍数。2.统计个数来降低时间复杂度。3.一个数加上比他小的数,构成2的倍数,那么这个数一定只有1个的。代码:class Solution {public: int countPairs(vector<int>& d) { vector<long long> a;//存放的是不重复的数字 vector<long long> b;//存放的是数量。

2021-01-03 13:47:46 150

空空如也

空空如也

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

TA关注的人

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