我真的很困惑为什么我的Java代码不起作用,它给了黑客地球上的代码僧侣TLE。这里是指向1的链接
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我想这是一个无限循环。
现场的问题是-
蒙克和旋转蒙克喜欢对数组执行不同的操作,所以作为哈克地球学校的校长,他给他的新学生米什基布置了一个任务。Mishki将被提供一个大小为N的整数数组A和一个整数K,在这里她需要将数组向正确的方向旋转K步,然后打印结果数组。由于她是新来学校的,请帮助她完成这项任务。
输入:第一行将由一个表示测试用例数量的整数T组成。对于每个测试用例:
约束条件:
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
import java.util.*;
public class temp {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
while(t-->0){
int n = sc.nextInt();
int k = sc.nextInt();
int p = 0;
int ar[] = new int[n];
for(int i=0;i<n;i++){
ar[i] = sc.nextInt();
}
k %= n;
for(int i=0;i<n;i++){
p = ar[(i+(n-k))%n];
System.out.print(p+" ");
}
System.out.println();
}
}
}
虽然我在开始时没有使用过大尺寸的数组,但这段代码对所有测试用例都很好。
试试这个。
我不确定您的解决方案的正确性,但尝试使用StreamTokenizer或BufferedReader而不是Scanner。当需要读取大量数据时,扫描器太慢,可能会导致TLE。
假设我有这样的多维数组:
问题内容: 因此,目标是将阵列中的元素正确旋转一次。举个例子; 如果, 则将成为 这是我所拥有的: 但是,这无法说明何时大于数组的长度。我读到我应该将更大的存储在另一个Array中,但是看到变量是不确定的,因此我不确定这是最好的解决方案。提前致谢。 问题答案: 在代码中添加一个模数组长度: 您还应该创建一个要复制到的新值,以免覆盖以后需要的值。
问题内容: 是否可以轻松地“旋转” PHP中的数组? 像这样:1,2,3,4-> 2,3,4,1 为此有某种内置的PHP函数吗? 问题答案: 当前大多数答案都是正确的,但前提是您不关心索引: 输出: 要保留索引,您可以执行以下操作: 输出: 也许有人可以比我的四行方法更简洁地进行轮换,但这还是行得通的。
预期的结果是逆时针旋转字节数组,以获得一个固定的“a”。 我试图将给定的数组转换为旋转版本,但效果不佳。我的代码在“loop()”中的位移位和计算部分有一些不正确的地方。因此,我不得不分别处理x==5和x==6。 我如何在C中以更一般的方式逆时针旋转字节数组? 代码: 输出LED:
我成功地解决了Hackerrank上的一个问题,它通过了所有测试用例,但我得到了一个错误,时间限制超过。我猜如果我优化我的代码,它会起作用,但我想不出任何方法来使我的代码更有效率。 问题是:对大小为n的数组进行左旋操作会将数组的每个元素向左移动1个单位。例如,如果在数组[1,2,3,4,5]上执行两次左旋转,则该数组将变为[3,4,1,2]。 给定一个由n个整数和一个数字d组成的数组,在数组上执行
我最近了解了杂耍算法如何在线性时间内旋转数组 时间复杂度如何线性???