题解 | #放苹果#

放苹果

https://www.nowcoder.com/practice/bfd8234bb5e84be0b493656e390bdebf

动态规划解法
public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);         int apple = sc.nextInt();         int plate = sc.nextInt(); // 初始化首行数值,也就是只有一个盘子情况         int[] preRow = new int[apple + 1];         Arrays.fill(preRow, 1); // 从两个盘子开始循环填充         for (int j = 1; j < plate; j++) {             int[] currRow = new int[apple + 1];             for (int i = 0; i < apple + 1; i++) {                 // j+1是为了解决盘子存在数组下标为0开始实际差了1的问题                 if (i < j + 1) {                     currRow[i] = preRow[i];                 } else {                     currRow[i] = currRow[i - (j + 1)] + preRow[i];                 }             }             preRow = currRow;         }         System.out.println(preRow[apple]);     }
#华为机试#
全部评论

相关推荐

那一天的Java_J...:他本来公司就是做这个的,不就是正常的游戏客户端和服务器开发,软硬件联动,有啥恶心不恶心的,提前告诉你就是怕你接受不了,接受不了就没必要再往后走流程浪费时间,虽然这公司是一坨。
点赞 评论 收藏
分享
深夜书店vv:腾讯是这样的,去年很多走廊都加桌子当工区
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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