题意:给出一个数组a,长度为n

其中f(0)=0*a[0]+1*a[1]+...+(n-1)*a[n-1]

f(1)=0*a[n-1]+1*a[0]+...+(n-1)*a[n-2]

...

f(n-1)=0*a[1]+1*a[2]+...+(n-1)*a[0]

求f(0),f(1)...,f(n-1)的最大值

思路:

f(0)-f(1)=(n-1)*a[n-1] - a[0]-a[1]-...-a[n-2],则有f(0)-f(1)= n*a[n-1]-(a[0]+a[1]+...+a[n-1]

f(1)-f(2)=(n-1)*a[n-2]-a[n-1]-a[0]-a[1]-...-a[n-3],则有f(1)-f(2)=n*a[n-2] -(a[0]+a[1]+...+a[n-1])

以此类推有f(n-2)-f(n-1)=n*a[1]-(a[0]+a[1]+..+a[n-1])

具体代码如下:

public class Solution {public int maxRotateFunction(int[] A){int f = 0, sum = 0, size = A.length;for (int i = 0; i < size; i++){f += i * A[i];sum += A[i];}int ans = f;for (int i = size - 1; i >= 0; i--){f = f + sum - size * A[i];ans = Math.max(ans, f);}return ans;}
}

LeetCode Rotate Function(寻找规律)相关推荐

  1. python寻峰,[LeetCode][Python]162. 寻找峰值

    [LeetCode][Python]162. 寻找峰值 峰值元素是指其值大于左右相邻值的元素. 给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引. 数 ...

  2. LEETCODE | PYTHON | 724 | 寻找数组的中心下标

    LEETCODE | PYTHON | 724 | 寻找数组的中心下标 1. 题目 给你一个整数数组 nums ,请计算数组的 中心下标 . 数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等 ...

  3. 数据分析方法,寻找规律的第一步,聚类分析法!第1辑

    聚类--寻找规律的第一步 聚类的基本逻辑 聚类的因子和主成分 聚类的步骤 有序聚类与时间序列聚类 **什么是聚类?聚类与分类是一个道理.**分类就是把一个事物拆分成不同的部分,而聚类就是把分散的多个事 ...

  4. LeetCode498之对角线遍历(寻找规律)

    题目描述 给你一个大小为 m x n 的矩阵 mat ,请以对角线遍历的顺序,用一个数组返回这个矩阵中的所有元素. 示例 1: 输入:mat = [[1,2,3],[4,5,6],[7,8,9]] 输 ...

  5. leetcode 396. Rotate Function | 396. 旋转函数(错位相减)

    题目 https://leetcode.com/problems/rotate-function/ 题解 参考了评论区 O(n)错位相减 的题解. class Solution {public int ...

  6. LeetCode 396. 旋转函数(Rotate Function)

    题目描述: 给定一个长度为 n 的整数数组 A . 假设 Bk 是数组 A 顺时针旋转 k 个位置后的数组,我们定义 A 的"旋转函数" F 为: F(k) = 0 * Bk[0] ...

  7. LeetCode题解:寻找比目标字母大的最小字母

    寻找比目标字母大的最小字母 一.题目 给你一个排序后的字符列表 letters ,列表中只包含小写英文字母.另给出一个目标字母 target,请你寻找在这一有序列表里比目标字母大的最小字母. 在比较时 ...

  8. LeetCode——Rotate Image(二维数组顺时针旋转90度)

    问题: You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwis ...

  9. [LeetCode] Rotate List

    Given a list, rotate the list to the right by k places, where k is non-negative. For example: Given  ...

最新文章

  1. [linux]在使用rsync时需要注意的小细节
  2. python读取excel某一行-Python 读取csv的某行
  3. Java LinkedList特有方法程序小解 使用LinkedList 模拟一个堆栈或者队列数据结构。...
  4. 004_ZooKeeper客户端基础命令
  5. python编写格斗游戏_Python文字小游戏:搏击比赛
  6. linux使用苹果字体,Ubuntu 8.04字体美化之安装苹果丽黑字体教程(图)
  7. Centos7 安装python3.7.0
  8. UVA10004 Bicoloring【DFS】
  9. 阶段1 语言基础+高级_1-3-Java语言高级_09-基础加强_第2节 反射_8_反射_Class对象功能_获取Field...
  10. List、Set和Map的简单理解
  11. Visio 2019/2016中文版零基础入门视频教程
  12. react 截取视频随意一帧裁剪图片存为base64格式
  13. java将map根据key分组_Java将List中的实体类按照某个字段进行分组并存放至Map中操作代码...
  14. 2013年EI收录的中国期刊
  15. 10公斤无人机动力测试台测试-拉力、扭矩、转速
  16. 展示 用户画像_案例分析:如何建立一个产品的用户画像?
  17. java正则表达式校验是否特殊字符以及空格
  18. 如何配置crontab每天早上6点和7点执行脚本
  19. 三:Job 和 JobDetail 详细介绍
  20. 【Unity3D游戏开发】GameObject.Find()、Transform.Find查找隐藏对象 (十)

热门文章

  1. 浙江大学-计算机中的数学(诙谐幽默的短视频)
  2. python如何调用图片-用python简单处理图片(4):图像中的像素访问
  3. python能在生活中做什么-python能做哪些生活有趣的事情
  4. python爬虫原理-python爬虫之认识爬虫和爬虫原理
  5. php和python区别-PHP与Python语言有哪些区别之处?选择哪一个好?
  6. python学起来难不难-自学Python很难吗,为何会看不进去!
  7. python画动态图代码-Python使用matplotlib画动态图
  8. python绘制直方图-python matplotlib库直方图绘制详解
  9. 为何python不好找工作k-Python这么火,为何有人说Python不好找工作?
  10. 用python画简单房子-python绘图作业:使用pygame库画房子