网易雷火2022秋招笔试8.14

第一题:从0号宝箱开始,每开一个宝箱有几个钥匙(对应编号的钥匙能开对应的宝箱),问能不能开掉所有的宝箱。

package main

import (
    "encoding/json"
    "fmt"
)

func main() {
    var s string
    fmt.Scan(&s)
    arr := make([][]int, 0)
    err := json.Unmarshal([]byte(s), &arr)
    if err != nil {
        fmt.Println("false")
        return
    }
    keys := make([]int, 0)
    opened := make(map[int]bool, 0)
    for i := 0; i < len(arr[0]); i++ {
        keys = append(keys, arr[0][i])
    }
    opened[0] = true
    for len(keys) > 0 {
        first := keys[0]
        keys = keys[1:]
        opened[first] = true
        for i := 0; i < len(arr[first]); i++ {
            if !opened[arr[first][i]] {
                keys = append(keys, arr[first][i])
            }
        }
    }
    if len(opened) == len(arr) {
        fmt.Println("true")
        return
    }
    fmt.Println("false")
}

第二题:问一亿以内包含25的数字的个数(这题我取巧了,正解应该是每个区间找规律)

package main

import (
    "fmt"
    "strconv"
    "strings"
)

func main() {
    n := 0
    fmt.Scan(&n)
    ans := 0
    if n >= 99999925 {
        fmt.Println(6850999)
        return
    }
    for i := 0; i <= n; i++ {
        s := strconv.Itoa(i)
        if strings.Contains(s, "25") {
            ans++
        }
    }
    fmt.Println(ans)
}

第三题:没看题目,有点恶心,我直接返回3,过了33%

#网易雷火笔试##网易##笔试#
全部评论
最后那个不好弄啊,要考虑边界
点赞 回复 分享
发布于 2022-08-15 20:14
请问楼主收到面试通知了吗
点赞 回复 分享
发布于 2022-08-22 11:19 贵州

相关推荐

shtdbb_:还不错,没有让你做了笔试再挂你
点赞 评论 收藏
分享
ArisRobert:统一解释一下,第4点的意思是,公司按需通知员工,没被通知到的员工是没法去上班的,所以只要没被通知到,就自动离职。就是一种比较抽象的裁员。
点赞 评论 收藏
分享
2 2 评论
分享
牛客网
牛客企业服务