Leetcode|leetcode:第260场周赛复盘

T1 题目 【Leetcode|leetcode:第260场周赛复盘】Leetcode|leetcode:第260场周赛复盘
文章图片

这种题没啥好讲的,直接放代码

class Solution { public: int maximumDifference(vector& nums) { int max=-1; for(int i=0; imax){ max=nums[j]-nums[i]; } } } return max==0?-1:max; } };

T2 题目 Leetcode|leetcode:第260场周赛复盘
文章图片

一开始我就想歪了,以为是先让第一个机器走最大分数的那条路,虽然我的直觉认为这样是不对的,但是也没想到其他的办法,所以就直接利用dfs来写了
class Solution { public: int f[2][2]={{1,0},{0,1}}; vector> book1; vector> book2; vector> ans; long long sum=0; long longmax1=0; void dfs(int x,int y,vector>&grid){ if(x==1&&y==grid[0].size()-1){ if(sum>max1){ cout<<1||tx<0||ty<0||ty>grid[0].size()-1) continue; if(!book1[tx][ty]){ book1[tx][ty]=1; sum+=grid[tx][ty]; dfs(tx,ty,grid); sum-=grid[tx][ty]; book1[tx][ty]=0; } } } long long gridGame(vector>& grid) { vector> temp(2,vector(50001)); book1=temp; book2=temp; ans=temp; dfs(0,0,grid); ans[0][0]=1; for(int i=0; i<2; i++){ for(int j=0; j

结果就通过6个用例
Leetcode|leetcode:第260场周赛复盘
文章图片

后来看题解,发现其思路理清楚的话其实也不难~
借用一位大佬的思路
Leetcode|leetcode:第260场周赛复盘
文章图片

看到好多大佬使用了前缀和,然后自己也学习了下
推荐学习博客:算法基础-前缀和
代码如下:
class Solution { public: long long gridGame(vector>& grid) { vector>grid1(2,vector(grid[0].size())); for(int i=0; i<2; i++){ for(int j=0; j

后言 后面的两题就没用看了,所以也就不打算写后两题,又是自己只做出来一题,还是有点难受啊,自己再接再励啊~

    推荐阅读