题解 | #放苹果#

放苹果

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

相关推荐

03-26 13:04
已编辑
电子科技大学 算法工程师
xiaowl:你这个简历“条目上”都比较有深度性,但是实际上面试官又没法很好的评估你是怎么达到很多看上去很厉害的结果的。要避免一些看上去很厉害的包装,比如高效的内存复用策略的表达,如果仅是简单的一些内存共享机制,而且面试上也没有深挖的空间,就不要这样表达。比如,工程化模式本质上可能就是定义了一些abstract class,那也就没特别多值得讲的内容。建议简历上应该侧重那些你花了大量时间和精力解决、研究的问题,不要过分追求“丰富”,而是关注在技术深入度、问题解决能力的表现上。
没有实习经历,还有机会进...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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