【问题标题】:Circular Array Rotation Hackerrank圆阵列旋转 Hackerrank
【发布时间】:2020-03-31 06:24:07
【问题描述】:

这是我在 Hackerrank 上解决的问题的链接:-https://www.hackerrank.com/challenges/circular-array-rotation/problem

这是我的代码,该代码通过了除了第四个测试之外的所有测试用例,请有人帮我看看这里出了什么问题。

public class Solution {
    public static void main(String[] args) {
        try(Scanner in = new Scanner(System.in)) {
            int n = in.nextInt();
            int k = in.nextInt();
            int q = in.nextInt();
            int a[] = new int[n];

            for(int i = 0; i < n; i++)
                a[i] = in.nextInt();

            for(int i = 0; i < q; i++) {
                int m = in.nextInt();
                System.out.println(a[(n - k + m) % n]);
            }
        }
    }

}

【问题讨论】:

  • 请不要添加不相关的标签。
  • 您能更具体地谈谈这个问题吗?到目前为止你尝试了什么,预期的输出是什么等等。

标签: java arrays solution


【解决方案1】:

你快到了!您忘记了k 大于数组长度(即超过一个周期)的情况;所以你必须把它限制在一个周期内。

a[(n - (k % n) + m) % n];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-25
    • 2021-10-24
    • 2021-05-12
    • 1970-01-01
    • 2011-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多