网易笔试AK

T1 括号匹配(100%)

力扣刷过这个题目,这个题目进阶了一下,比如【{】}这种是不可以的。用replaceAll也不卡时间

T2 BFS(100%)

蓝桥杯有一个类似的,不过是把颜色变成红绿灯。

直接bfs,然后vis数组开两个,一个蓝色一个红色,注意这个数组不能记录边(这样过75%),要记录当前在这个节点,是蓝色或红色这个状态之前有没有出现过。

while(!q.empty()){
        int siz = q.size();
        for(int i = 0; i < siz; i++){
            pair<int, int> cp = q.front();
            q.pop_front();
            int ind = cp.first, se = cp.second;
            if(se == 0) {
                visb[ind] = 1;
            }else{
                visr[ind] = 1;
            }
            if(ind == t) {
                cout << res << endl;
                tag = true;
                break;
            }
            for(int j = 0; j < g[ind].size(); j++){
                pair<int, int> root = g[ind][j];
                // 能走
                if(se == root.second) { 
                    int nse = (root.second == 0 ? 1 : 0);
                    if(nse == 0){
                        if(visb[root.first] == 1) continue;
                    }else{
                        if(visr[root.first] == 1) continue;
                    }
                    // 颜色切换
                    q.push_back({root.first, (root.second == 0 ? 1 : 0)});
                }
            }
        }
        res++;
        if(tag) break;
    }
    if(!tag) cout << -1 << endl;
    return 0;

T3 dp(100%)

这个相对来说比较简单了,dp【i】记录快递员到达i时的最大利润,然后那个map记录尾节点

        // 到达节点x时,手里的钱最大值
        long[] dp = new long[n+1];
        for(int i = 1; i <= n; i++){
            // 更新dp[i]
            dp[i] = dp[i-1];
            if(mp.containsKey(i)){
                // 尝试当前节点每一个快递都送的情况   
                for(int j = 0; j < mp.get(i).size(); j++){
                    List<Integer> ls = mp.get(i).get(j);
                    int l = ls.get(0), z = ls.get(1);
                    dp[i] = Math.max(dp[i], dp[l] + z + i - l);
                }
            }
        }

T4 字符串问题(100%)

被这个题目坑了一下,以为是一个并查集,把所有关联用连一起。后面写完才发现可以有英文重复,例如例子中的

avoided。所有这个题目直接用个Map<Integer, List<Integer>> mp1 = new HashMap<>();记录对应关系。当然还有挺多其他细节的。

#牛客创作赏金赛#
全部评论
不少uu被这个坑了吧
2 回复 分享
发布于 03-15 12:44 江西
mark
点赞 回复 分享
发布于 03-16 23:31 辽宁

相关推荐

想干测开的tomca...:这份简历是“大一新生硬凹资深后端”的典型反面教材,槽点离谱到能让面试官直接笑出声: ### 1. 「年龄+入学时间」和项目复杂度完全脱节,可信度直接归0 你2024年7月才入学(现在刚读了1年多),19岁的大一新生,能把Vue3+Spring Boot+ShardingSphere+K8s+AI这些技术全塞进两个项目里?别说实际开发,光把这些技术的文档看完都得半年——这不是“能力强”,是“把招聘JD里的技术词全抄过来造假”,明摆着没碰过实际代码
点赞 评论 收藏
分享
10-29 15:51
嘉应学院 Java
后端转测开第一人:你把简历的学历改成北京交通大学 去海投1000份发现基本还是没面试
点赞 评论 收藏
分享
评论
4
5
分享

创作者周榜

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