Hackerrank - Game Of Rotation 题解
2024-08-27 08:19:03
旋转一个数组以得到最大值。
陷阱就是:不能排序。须要模拟操作旋转,并设计公式计算旋转后的和。
要求是O(n)时间完毕。
原题:
https://www.hackerrank.com/challenges/game-of-rotation
#pragma once
#include <stdio.h> class GameOfRotation
{
public:
GameOfRotation()
{
int N = 0;
scanf("%d", &N);
int *A = new int[N];
long long one = 0, sum = 0, ans = 0;
for (int i = 0; i < N; i++)
{
scanf("%d", &A[i]);
one += (long long)A[i];
sum += (long long)(i+1) * (long long)A[i];
}
ans = sum;
for (int i = 1; i < N; i++)
{
sum = sum - one + (long long)A[i-1] * (long long)N;
ans = ans < sum ? sum : ans;
}
printf("%lld", ans);
delete [] A;
}
}; int gameOfRotation()
{
GameOfRotation();
return 0;
}
最新文章
- NOIP2000方格取数[DP]
- U盘操作系统,Kali Linux操作系统安装
- android技巧(一):如何方便知晓当前Activity?如何管理应用中的Activity?如何最佳的启动一个Activity?
- Spring Remoting: Remote Method Invocation (RMI)--转
- 310. Minimum Height Trees
- Spring web Flow2学习笔记
- 文件格式PDF
- spry菜单栏(一)
- 判断某个对象是不是DOM对象
- Junit3.8
- 用sql语句写排名
- sql如何向一个表中批量插入大量数据
- MongoDB-C# Driver账户密码登录问题
- 百度云是用SOUI开发的产品
- hive 不同用户 权限设置 出错处理
- 使用JDBC连接数据库(一)
- WF学习思维导图
- Django中通过filter和simple_tag为前端实现自定义函数
- Ext.NET加入自定义验证JS函数
- 0721JS