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

后言

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

相关推荐
点云SLAM16 小时前
PyTorch 中.backward() 详解使用
人工智能·pytorch·python·深度学习·算法·机器学习·机器人
only-qi17 小时前
146. LRU 缓存
java·算法·缓存
yuxb7317 小时前
Docker学习笔记(二):镜像与容器管理
笔记·学习·docker
xuxie1318 小时前
SpringBoot文件下载(多文件以zip形式,单文件格式不变)
java·spring boot·后端
LFly_ice18 小时前
学习React-9-useSyncExternalStore
javascript·学习·react.js
重生成为编程大王18 小时前
Java中的多态有什么用?
java·后端
梁辰兴18 小时前
数据结构:排序
数据结构·算法·排序算法·c·插入排序·排序·交换排序
666和77718 小时前
Struts2 工作总结
java·数据库
中草药z18 小时前
【Stream API】高效简化集合处理
java·前端·javascript·stream·parallelstream·并行流
Lris-KK18 小时前
【Leetcode】高频SQL基础题--1731.每位经理的下属员工数量
sql·leetcode