京东笔试(凉)

请不吝指教
1、给6个面板的长宽,判断是否能构乘长方体?
似乎很简单???55%
thx@HelloJAVA123,正确方式应该以面{a,b}且a<=b方式记录并考虑面拼接

package  main

import "fmt"

func main() {
    var T, H, W  int
    fmt.Scan(&T)
    for i := 1; i <= T; i++ {
        m := make(map[int]int)
        kind := 0
        for j := 1; j <= 6; j++ {
            fmt.Scan(&H, &W)
            if _, f := m[H]; !f {
                kind++
            }
            if _, f := m[W]; !f {
                kind++
            }
            m[H]++
            m[W]++
        }
        ans := "POSSIBLE"
        if kind > 3 {
            ans = "IMPOSSIBLE"
        } else {
            if kind == 3 {
                for _, v := range m {
                    if v != 4 {
                        ans = "IMPOSSIBLE"
                    }
                }
            } else if kind == 2 {
                for _, v := range m {
                    if v != 4 || v != 8 {
                        ans = "IMPOSSIBLE"
                    }
                }
            }
        }
        fmt.Println(ans)
    }
}

2、n个编号,a[i]表示编号i可跳的步长,从1号编号开始跳,初始可跳h0步或a[1]步,到达编号i时可跳的步长为{跳到i时的步长 or a[i]},不可跳过n,求跳到n时路径数?对998244353取模
22%。

package main

import "fmt"

/*
step[i][j]: 在第i个格子时,步长是否可以为j
dp[i]: 到达第i个格子经过的路径数,有dp[i] = sum{dp[k]}, if k canReach, 0<=k<i
*/
const maxn = 1005
const p = 998244353
func main() {
    dp := [maxn]int{}
    step := [maxn][maxn]bool{}
    a := [maxn]int{}
    n, h := 0, 0
    fmt.Scan(&n, &h)
    for i := 1; i <= n; i++ {
        fmt.Scan(&a[i])
    }

    step[1][h], step[1][a[1]] = true, true
    dp[1] = 1
    for i := 2; i <= n; i++ {
        step[i][a[i]] = true
        for j := 1; j < i; j++ {
            if step[j][i-j] {
                dp[i] = (dp[i]+dp[j])%p
                step[i][i-j] = true
            }
        }
        //fmt.Println(dp[i])
    }

    fmt.Println(dp[n])
}
#京东##笔试题目#
全部评论

相关推荐

雪飒:我也遇见过,我反问他有考虑来华为od吗?
点赞 评论 收藏
分享
小厂面经,也是我的处女面(30min)1.自我介绍2.spring&nbsp;boot的自动装配原理(好多类和接口的单词都忘了全称是啥了,就说了记得的单词,流程应该说对了吧)3.有用过redis吗?主要是用在实现什么功能(说了技术派用redis的zset来实现排行榜)5.有了解过Redisson吗?讲一下对于分布式锁的了解以及在什么场景下应用(说了秒杀场景)6.对mysql有了解吗?包括它的索引优化和创建(把想起来的全说了)7.了解设计模式吗?比如单例模式,为什么要使用单例模式,它的优点是什么(昨天刚看的设计模式)8.工厂模式有了解吗?主要的使用场景是?(也是昨天刚看的)9.场景题:有7个服务器,需要在早上十点定时的向数据库中的用户表中的用户发短信,如果做到发送的消息不重复,且如果发送失败了需要知道是到哪个用户失败了,这样下次就直接从这个用户开始(我答了用spring&nbsp;task来实现定时,用分布式锁来保证只有一份服务器可以发送消息,用消息队列来存储消息,然后用消息确认机制来保证错误信息的记录,以及在数据库或者业务层面完成消息消费的幂等性)10.场景题:如果在系统启动的时间就将数据库的所有用户相关的信息都读到一个hashmap中(这个没啥思路,没答好)27届的投了一个星期终于有一个面试了,大部分公司都只招26的
inari233:已oc,拒了
查看9道真题和解析
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务