gpt4 book ai didi

java - 算法编程测试?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:56:53 24 4
gpt4 key购买 nike

<分区>

我在一家 IT 公司的编程测试中被问到这个问题。我会尽力解释。

问题如下:

在原点 (0,0) 给定一只 Ant ,它在给定路径数组上仅沿顺时针方向移动(仅右转)。例如,如果路径数组是 {2,3,4,5,7},则 Ant 向左移动 2 个单位,然后向下移动 3 个单位,然后向右移动 4 个单位,然后向上移动 5 个单位,然后向左移动 7 个单位,依此类推等等。

因此编写一段代码,显示 Ant 的最终位置(坐标),并说明 Ant 是否与它的路径相交,格式如下:

Ant :(x1,y1):(是/否)

例如:(1)数组={1,6,3,5,4}输出: Ant :(2,-1):是

图形显示

         (0, 0)__(1,0)
|
(-2,-1) __ __ __ __(2,-1)
| |
| |
| |
| |
| |
(-2,-6) __ __ __ (1,-6)

这里 Ant 在 (1,-1) 处与它的路径相交

(2) 数组={2,2,2,1}输出: Ant :(0,-1):无

图形显示

(0, 0)__ __(2,0)
.(0,-1) |
| |
(0,-2)__ __(2,-2)

这里 Ant 不与它的路径相交。

我写了一个代码来找到最终的位置:

public class Ant {

static void findAnt(int arr[])
{
int count = 0;
int x=0,y=0;
for(int element: arr){
if(count>3)
count = 0;

switch(count++){

case 0: x=x+element;
break;
case 1: y=y-element;
break;
case 2: x=x-element;
break;
case 3: y=y+element;
break;

}
}
System.out.println("Ant: "+x+" "+y);
}
public static void main(String[] args)
{
int arr[] = new int[]{2,2,2,1};
findAnt(arr);
}


}

但是我无法设计出一种算法来显示 Ant 是否相交。请指教。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com