滴滴笔试题求助啊

那个大佬有i思路啊#滴滴##笔试题目#
全部评论
工人调度有没有老哥分享一下
点赞 回复 分享
发布于 2019-09-19 20:49
第一题直接示例恰烂分0.09,第二题0.91
点赞 回复 分享
发布于 2019-09-19 20:47
话说滴滴这个把行测放进来是真的……感觉要完蛋……
点赞 回复 分享
发布于 2019-09-19 20:32
垃圾分类直接(n*(n-1)/2-m)/2  能过9%
点赞 回复 分享
发布于 2019-09-19 20:22
过了2.0😁
点赞 回复 分享
发布于 2019-09-19 20:56
第一题不会。 第二题AC,维护一个deque,长度大于m时,要是deque前面的和大于0就删掉,不大于0就留着。
点赞 回复 分享
发布于 2019-09-19 20:50
第一题感觉是拓扑排序,后面没时间写了,每次把图入度为0的点当作一类垃圾
点赞 回复 分享
发布于 2019-09-19 20:48
Python3 第一题过55% 第二题以为是连续三个数之和,只AC了9🙁 第一题代码: while True:     try:         carA = []         carB = []         n, m = map(int, input().split())         tmp = [i+1 for i in range(n)]         for i in range(m):             a, b = map(int, input().split())             if a in tmp:                 carA.append(a)                 tmp.remove(a)             if b in tmp:                 carB.append(b)                 tmp.remove(b)         while tmp:             if len(carA) < len(carB):                 carA.append(tmp.pop())             elif len(carA) > len(carB):                 carB.append(tmp.pop())             elif len(tmp) > 1:                 while len(carA) == len(carB):                     if len(tmp) == 1:                         break                     carA.append(tmp.pop())                     carB.append(tmp.pop())             elif len(tmp) == 1:                 break         print(len(carA )+len(carB))     except:         break
点赞 回复 分享
发布于 2019-09-19 20:47
第一题万年0.45 第二题0.82 搞不对了
点赞 回复 分享
发布于 2019-09-19 20:45
哇 你们也太会蹭分了吧,这都能55%,暴力半天只能27%
点赞 回复 分享
发布于 2019-09-19 20:45
第二题用动态规划,dp[i]=Math.min(dp[i-1]+a[i],[前m-1个数]+a[i])
点赞 回复 分享
发布于 2019-09-19 20:44
有么有大佬给个思路
点赞 回复 分享
发布于 2019-09-19 20:44
我觉得我第二题没问题,至少m也是理解了,但是为什么0.45,严重怀疑数据
点赞 回复 分享
发布于 2019-09-19 20:44
垃圾分类呀写呀
点赞 回复 分享
发布于 2019-09-19 20:42
第一题直接输出给的值,能过55%😂😂😂
点赞 回复 分享
发布于 2019-09-19 20:37
第二题暴力法过了45(超时),正常思路反而只有18什么鬼 import java.util.Scanner; public class Main { public static void main( String[] args ) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); int[] a = new int[n]; for(int i=0;i<n;i++) { a[i] = sc.nextInt(); } int res = 0; if(m >= n) { for(int i=0;i<n;i++) { res += a[i]; } System.out.println(res); }else { res = Integer.MAX_VALUE; int[][] dp = new int[n+1][n+1]; for(int i=1;i<=n;i++) { for(int j=i;j<=n;j++) { dp[i][j] = dp[i][j-1] + a[j-1]; if(j - i + 1 >= m && dp[i][j] < res) { res = dp[i][j]; } } } System.out.println(res); } } }
点赞 回复 分享
发布于 2019-09-19 20:32
选择题是个什么东西,看着那个图困死我了
点赞 回复 分享
发布于 2019-09-19 20:31
两题AC了……emm不过感觉思路也不一定对,等过了时间咱在聊
点赞 回复 分享
发布于 2019-09-19 20:30
第一题没做;第二题用前缀和加暴力法过了百分之80多,剩下的超时了,感觉第二题正确做法应该是用动态规划
点赞 回复 分享
发布于 2019-09-19 20:27
不会做,xjb写交卷跑路,第一题0.55,第二题0.45
点赞 回复 分享
发布于 2019-09-19 20:26

相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
4
10
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务