力扣动态规划-9【算法学习day.103】

前言

###我做这类文章一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?建议灵神的题单和代码随想录)和记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!


习题

1.K次串联后最大子数组之和

题目链接: 1191. K 次串联后最大子数组之和 - 力扣(LeetCode)

题面:

附上大佬代码:

java 复制代码
class Solution {
  public int kConcatenationMaxSum(int[] arr, int k) {
    if (arr == null || arr.length == 0) return 0;
    long maxOfEnd = arr[0] > 0 ? arr[0] : 0L, maxSoFar = maxOfEnd, sum = arr[0];
    for (int i = 1; i < Math.min(k, 2) * arr.length; i++) {
      maxOfEnd = Math.max(maxOfEnd + arr[i % arr.length], arr[i % arr.length]);
      maxSoFar = Math.max(maxOfEnd, maxSoFar);
      if (i < arr.length) sum += arr[i];
    }
    if (sum > 0 && k > 2) {
        long r = (sum * (k - 2)) % 1000000007;
        maxSoFar += r;
    }
    return (int) maxSoFar % 1000000007;
  }
}

后言

上面是动态规划相关的习题,共勉

相关推荐
摆烂仙君1 小时前
小米2025年校招笔试真题手撕(二)
算法
z人间防沉迷k3 小时前
后端开发概念
java·后端
某人辛木3 小时前
软考学习中
学习
caihuayuan53 小时前
Vue3响应式数据: 深入分析Ref与Reactive
java·大数据·spring boot·后端·课程设计
CodeWithMe4 小时前
【C/C++】线程状态以及转换
java·c语言·c++
苹果酱05674 小时前
Java设计模式:探索编程背后的哲学
java·vue.js·spring boot·mysql·课程设计
biubiubiu07064 小时前
windows中JDK切换版本
java·开发语言
xin007hoyo5 小时前
算法笔记·数学·最大公约数
笔记·算法
丶Darling.6 小时前
Day126 | 灵神 | 二叉树 | 层数最深的叶子结点的和
数据结构·c++·算法·二叉树·深度优先
qq_334060216 小时前
spring5-配外部文件-spEL-工厂bean-FactoryBean-注解配bean
java·spring·web