【发布时间】:2020-09-12 19:45:12
【问题描述】:
我真的很困惑,为什么我的 java 代码无法正常工作,它会在 Hacker Earth 上的 Code Monks 上提供 TLE。 这是1的链接
- Link to Question 第一个问题MONK AND ROTATION
import java.util.Scanner;
class TestClass {
static int[] ar=new int[100001];
public static void main(String args[] ){
Scanner in=new Scanner(System.in);
byte t=in.nextByte();
while(t-->0){
int n=in.nextInt();
int k=in.nextInt()%n;
for(int i=0;i<n-k;i++)
ar[i]=in.nextInt();
for(int i=0;i<k;i++)
System.out.print(in.nextInt()+" ");
for(int i=0;i<n-k;i++)
System.out.print(ar[i]+" ");
System.out.println();
}
}
}
我不知道为什么它给 TLE 我认为有一些无限循环。
网站上的问题是-
僧侣和旋转 Monk 喜欢对数组执行不同的操作,因此作为 HackerEarth School 的校长,他将一项任务分配给了他的新学生 Mishki。 Mishki 将获得一个大小为 N 的整数数组 A 和一个整数 K ,她需要将数组沿正确方向旋转 K 步,然后打印结果数组。由于她是新来的学校,请帮助她完成任务。
输入: 第一行由一个整数 T 组成,表示测试用例的数量。 对于每个测试用例:
- 第一行由两个整数 N 和 K 组成,N 是数组中元素的数量,K 表示旋转的步数。
- 下一行由 N 个空格分隔的整数组成,表示数组 A 的元素。 输出: 打印所需的数组。
约束:
1<=T<=20
1<=N<=10^5
0<=K<=10^6
0<=A[i]<=10^6
示例输入
1
5 2
1 2 3 4 5
样本输出
4 5 1 2 3
解释
这里T为1,表示一个测试用例。
表示数组中的元素个数, ,表示旋转的步数。
初始数组是: 在第一次旋转中,5 将进入第一个位置,所有其他元素将移动到当前位置的前一个位置。现在,结果数组将是
在第二次旋转中,4 将进入第一个位置,所有其他元素将移动到当前位置的前一个位置。现在,结果数组将是
时间限制:每个输入文件 1.0 秒 内存限制:256 MB 源限制:1024 KB
【问题讨论】: