题解 | #放苹果#

放苹果

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]);     }
#华为机试#
全部评论

相关推荐

字节 飞书绩效团队 (n+2) * 15 + 1k * 12 + 1w
点赞 评论 收藏
分享
双非一本失业第二年:《机器视觉垃圾分类》
点赞 评论 收藏
分享
10-07 23:57
已编辑
电子科技大学 Java
八街九陌:博士?客户端?开发?啊?
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-21 19:05
面试官_我太想进步了:混学生会的,难怪简历这么水
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务