【发布时间】:2021-08-22 03:21:22
【问题描述】:
我正在努力提高我的编码技能。
所以我加入hackerearth来解决PHP语言的编码问题,因为我懂PHP。
但是在第一个问题上,我被卡住了,因为我不知道如何将输入作为大小为 N 的数组。
下面给出了我遇到的问题 -
编码挑战 -
Monk 喜欢对数组进行不同的操作,因此作为 Hackerearth School 的校长,他给他的新学生 Mishki 分配了一项任务。 Mishki 将获得一个大小为 N 的整数数组 A 和一个整数 K ,她需要将数组沿正确方向旋转 K 步,然后打印结果数组。由于她是新来的学校,请帮助她完成任务。
我尝试解决的问题-
由于这个问题需要 3 个输入 -
首先是测试用例的数量(T)。
其次是数组的大小(N)和旋转次数(K)。
第三个大小为 N 的数组。
所以我成功通过了第一个测试用例(代码如下)-
fscanf(STDIN, "%s\n", $t);
fscanf(STDIN, "%s %s\n", $n, $k);
//taking 5 numbers seperated by space.
fscanf(STDIN, "%d %d %d %d %d\n", $item1,$item2,$item3,$item4,$item5);
$arr = [$item1,$item2,$item3,$item4,$item5];
for($i = 0; $i<$k; $i++){
array_unshift($arr, array_pop($arr));
}
echo implode(' ', $arr);
Input for above code -
1
5 2
1 2 3 4 5
Output -
4 5 1 2 3
我的解决方案有什么问题 --
如果用户给出 N=6(5 除外),那么代码将不起作用。因为数组的大小取决于 N。
那么请帮助我如何给出大小为 N 的数组?
【问题讨论】: