package ACM_Exercise;
import java.util.Scanner;
/**
* @author Halu
* @create 2022-08-18 23:38
*/
public class onePlusOne {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int len = in.nextInt();
// String input = in.nextLine();
//
// String[] strArr = input.split("");
int[] nums = new int[len];
System.out.println();
for (int i = 0; i <nums.length ; i++) {
nums[i]=in.nextInt();
}
// for (int i = 0; i <nums.length-1 ; i++){
// System.out.print(nums[i]+" ");
// }
// System.out.print(nums[nums.length-1]);
int[] res = seeBuilding(nums);
for (int i = 0; i <res.length-1 ; i++) {
System.out.print(res[i]+" ");
}
System.out.println(res[res.length-1]);
}
private static int[] seeBuilding(int[] nums){
int[] res = new int[nums.length];
for (int i = 0; i <nums.length ; i++) {
res[i]++ ; // 先加上本栋,可以看到
// int left = nums[i-1];
// int right = nums[i+1];
if (i>0){
res[i]++;
int left = nums[i-1];
for(int j=i-2; j>=0; j--){
if(nums[j]<=left){
continue;// 小于(右)前一栋
}
left = nums[j];
res[i]++;
}
}
if (i<nums.length-1){
res[i]++;
int right = nums[i+1];
for (int k = i+2; k <nums.length ; k++) {
if(nums[k]<=right) continue;
right = nums[k];
res[i]++;
}
}
}
return res;
}
}
//6
//5 3 8 3 2 5
//3 3 5 4 4 4
ACM模式-编程练习2
于 2022-08-05 22:25:03 首次发布