网易雷火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 贵州
联易融
校招火热招聘中
官网直投

相关推荐

点赞 评论 收藏
转发
点赞 评论 收藏
转发
2 2 评论
分享
牛客网
牛客企业服务