做了这么多笔试,还是拼多多的最简单t1给一个数组头和尾的值 a0 an,数组长度n,问是否能构造一个数组使得严格递增,并且ai+1-ai严格递减反着构造an an -1 an - 1 -2 an -1 -2 -3..... a1 即可,最后判断一下a1 -a0 >n-2t2给一个数组a,数字m,求满足 |ai -aj|>=m 的最多的ij对数排序,双指针,令i=0,j=a.size()/2,每次求i所对应的j,统计输出即可t3给定一个01矩阵 a,b bij为a矩阵对应行和列的最大值,求a矩阵的和的最大值维护两个数组n,m,n[i]=0表示对应行为0,m[j]=0该列为0,最后输出sum(m)*sum(n),注意当b[i][j]==1,n[i]==0,m[j]==0时无法构造,或者sum(m)*sum(n)==0,但存在b[i][j]==1,输出-1,t4给定一个时间m,后面有n行物品,ai bi ci di,ai为修理所花时间,bi为成本,ci为直接购买该物品时间,di为相应成本求在m时间内弄好所有物品所花费的最小成本。先把所有物品直接购买,计算总时间t,如果超时直接输出-1m-t即为我们还能多花费的时间,考虑物品i,如果直接购买换成自己修理,会多花费bi-ci时间,减少 di-bi成本,那么就变成了01背包问题,n个物品中,第i个物品多的时间花费是bi-ci,能减少di-bi成本,时间容量为m-t,求最大减少成本