惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
罗磊的独立博客
M
MIT News - Artificial intelligence
G
Google Developers Blog
V
V2EX
D
Docker
博客园_首页
The Cloudflare Blog
人人都是产品经理
人人都是产品经理
Y
Y Combinator Blog
WordPress大学
WordPress大学
T
Tailwind CSS Blog
博客园 - 司徒正美
J
Java Code Geeks
L
LangChain Blog
博客园 - 三生石上(FineUI控件)
B
Blog RSS Feed
博客园 - 【当耐特】
小众软件
小众软件
Apple Machine Learning Research
Apple Machine Learning Research
大猫的无限游戏
大猫的无限游戏
P
Proofpoint News Feed
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - Franky

ABB00717

HTB - SpeedNet PHP Filter to RCE Redis HTB - Pollution HTB - Pollution 工具 常見服務 HTB - BroScience HTB - BroScience 如何把爛爛的 shell 升級成好用的 TTY 滲透筆記 HTB - Imagery HTB - Imagery HTB - Reset HTB - Reset HTB - Trick HTB - Trick HTB - Editorial HTB - Editorial 150. Evaluate Reverse Polish Notation droopescan 安裝找不到 module imp 解決「桌面背景被當成一個視窗不斷重新彈出並覆蓋其他視窗」的問題 桌面不斷彈出覆蓋其他視窗 medusa 找不到 ssh module 中文文案排版指北 BugBounty Playbook 小知識 透過 Ubuntu 26 設定 Windows 11 雙系統並使用 Image Recovery 之踩坑全紀錄 透過 Ubuntu 26 設定 Windows 11 雙系統並使用 Image Recovery 之踩坑全紀錄 清除 git history 中的機敏資料
396. Rotate Function
2026-05-02 · via ABB00717

https://leetcode.com/problems/rotate-function?envType=daily-question&envId=2026-05-01

瞪眼看一下,很快就能發現規律了:

from typing import List
 
 
class Solution:
    def maxRotateFunction(self, nums: List[int]) -> int:
        # Calculate initial F(0) and the total sum of elements.
        # F(0) = 0 * nums[0] + 1 * nums[1] + ... + (n-1) * nums[n-1]
        # F(k) = F(k-1) + sum(nums) - n * nums[n-k]
 
        n = len(nums)
        if n == 0:
            return 0
 
        total_sum = sum(nums)
        f = sum(i * val for i, val in enumerate(nums))
        max_f = f
 
        for k in range(1, n):
            # Update F(k) based on F(k-1)
            # The last element in the previous rotation moves to the first position,
            # its coefficient changes from (n-1) to 0. All other elements' coefficients increase by 1.
            f += total_sum - n * nums[n - k]
            max_f = max(max_f, f)
 
        return max_f