力扣动态规划-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;
  }
}

后言

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

相关推荐
王嘉俊9255 分钟前
初识JVM
java·jvm·字节码
刘阿去7 分钟前
lua C语言api学习4 编写C模块
c语言·学习·lua
Cloud_.7 分钟前
Spring Boot整合Sa-Token极简指南
java·后端·springboot·登录校验
mit6.82427 分钟前
[Sum] C++STL oj常用API
c++·算法·leetcode
Ttang2332 分钟前
SSM基础专项复习4——Maven项目管理工具(1)
java·开发语言·spring·maven·web
槐月初叁33 分钟前
C++洛谷基础练习题及解答
开发语言·c++·算法
九转苍翎38 分钟前
Java Collection(3)——BinaryTree(二叉树)
java·数据结构
曼岛_1 小时前
[Java实战]Spring Boot服务CPU 100%问题排查:从定位到解决
java·开发语言·spring boot
Archer1941 小时前
C++基础——从C语言快速入门
数据结构·c++·算法
好易学数据结构1 小时前
可视化图解算法:链表中环的入口节点(环形链表 II)
数据结构·算法