2017京东校招编程题 烽火台

描述:

n 个 烽火台围成一个圈,任意两个烽火台只要中间的烽火台比他们两个都低就能看见彼此,当然相邻的肯定能看见对面,求能看见彼此的对数


输入 

5    // 烽火台的个数

3    2   5    4     1         //烽火台的高地

输出:

7

思路:观察任意两个烽火台是不是有比他们都低的,有则计数加一,注意要考虑两个方向,因为他们围成了圈圈

实现代码



import java.util.Scanner;

public class Main {
	static int count=0;
	public static void main(String args[]) {
		Scanner in=new Scanner(System.in);
		
		while (in.hasNextInt()) {
			
			int n=in.nextInt();
			
			int arr[]=new int[n];
			for (int i = 0; i arr[i]||arr[k]>arr[j])) {
				a= false;
				break;
			}
		}
		
		for (int step = 1; step arr[i]||arr[(step+j)%arr.length]>arr[j])) {
				b= false;
				break;
			}
		}
		
		return a||b;
	}
}





测试结果:

2017京东校招编程题 烽火台_第1张图片



你可能感兴趣的:(2017京东校招编程题 烽火台)