3/26网易雷火笔试第一题A了,第二题50%

import java.util.*;

// 第一题,用迪杰斯特拉算法即可解出
public class Solution {

    public int getMinimumTime (int[] productList, int[][] drivingTimes) {
        Arrays.sort(productList);
        int[] dist = dijkstra(drivingTimes,0);
        int time = dist[dist.length-1];
        int res = 0;
        int prev = productList[productList.length-1];
        int cnt = 0;
        for(int i=productList.length-2; i>=0; --i) {
            if(prev+productList[i]>10) {
                ++cnt;
                prev = productList[i];
            } else {
                prev += productList[i];
            }
            if(cnt>=4) {
                res += time*2;
                cnt = 0;
            }
        }
        if(prev>0 || cnt>0) {
             res += time;   
        }
        return res;
    }
    
     public static int[] dijkstra(int[][] weight, int start) {
         int n = weight.length;
         int[] shortPath = new int[n];
         int[] visited = new int[n];

         shortPath[start] = 0;
         visited[start] = 1;

         for(int count = 1; count < n; count++) {
              int k = -1;
              int dmin = Integer.MAX_VALUE;
              for(int i = 0; i < n; i++) {
                  if(visited[i] == 0 && weight[start][i] < dmin) {
                   dmin = weight[start][i];
                   k = i;
                  }
              }

              shortPath[k] = dmin;
              visited[k] = 1;

              for(int i = 0; i < n; i++) {
                  if(visited[i] == 0 && weight[start][k] + weight[k][i] < weight[start][i]) {
                   weight[start][i] = weight[start][k] + weight[k][i];
                  }
              }
         }
         return shortPath;
     }
}

#网易雷火实习##网易##笔试题目#
全部评论
这两道题都只有两个用例,我猜用例两个ac不知道会不会有问题😅
2 回复 分享
发布于 2022-03-26 16:37
他的测试用例很水,两道题都可以直接用dfs加上一些贪心剪枝就能过😅
1 回复 分享
发布于 2022-03-26 16:02
对不起 我是菜鸡🤣
1 回复 分享
发布于 2022-03-26 16:26
第二题应该是用dfs吧
点赞 回复 分享
发布于 2022-03-26 16:01
知道是迪杰斯特拉 忘记咋写了😪
点赞 回复 分享
发布于 2022-03-26 16:02
第二题可以暴力搜索,检测每一种宝藏取还是不取,看满不满足重量和时间
点赞 回复 分享
发布于 2022-03-26 16:02
第二题50应该 是出洞时时间为0按成功算了 按失败算就过。
点赞 回复 分享
发布于 2022-03-26 16:02
第二题可以贪心,数组先按照价值降序,再按照重量升序,然后依次模拟就可以。
点赞 回复 分享
发布于 2022-03-26 16:08
这次笔试手机要开第二机位?
点赞 回复 分享
发布于 2022-03-26 16:10
问一下各位大佬 第一题 样例 为什么返回也是时间也是3 2->0不是2么?
点赞 回复 分享
发布于 2022-03-26 16:45
第一题最少车次直接贪心就可以了么?   最短路径求完了 然后不知道怎么最优安排车次😂
点赞 回复 分享
发布于 2022-03-26 17:02
100,100,35,60,是我太菜了
点赞 回复 分享
发布于 2022-03-26 17:10
为啥我是四道题
点赞 回复 分享
发布于 2022-03-26 17:14
我第四题递归时把行和列搞反了,一直短错误最后也没找出来
点赞 回复 分享
发布于 2022-03-26 17:27
我前端雷火三道题
点赞 回复 分享
发布于 2022-03-26 18:15
第二题是记录选择的背包问题,但是判断条件那里多加了一个限制,AC
点赞 回复 分享
发布于 2022-03-28 09:54
雷火一般投递多久后笔试呀
点赞 回复 分享
发布于 2022-04-07 01:41

相关推荐

3 6 评论
分享
牛客网
牛客企业服务