zzh11 发表于 2021-11-15 18:08:08

救救孩子吧,写不出来

求解

jackz007 发表于 2021-11-15 18:17:25

      一个问题不明白,样例中的 (0 , 2 , 1)、(0 , 3 , 1)、(0 、4 、1) 、(0 、4 、3)为什么就不是一座山?

zzh11 发表于 2021-11-15 18:29:36

jackz007 发表于 2021-11-15 18:17
一个问题不明白,样例中的 (0 , 2 , 1)、(0 , 3 , 1)、(0 、4 、1) 、(0 、4 、3)为什么 ...

顺序不能变

jackz007 发表于 2021-11-15 19:09:24

n = int(input())
d = list(map(int , input() . split()))
e = [(d , d , d) for a in range(len(d) - 2) for b in range(a + 1 , len(d) - 1) for c in range(b + 1 , len(d)) if d > d and d > d]
print(len(e))
print(*e)
      运行实况:
D:\00.Excise\Python>python x.py
5
0 1 3 4 2
5
(0, 3, 2) (0, 4, 2) (1, 3, 2) (1, 4, 2) (3, 4, 2)

D:\00.Excise\Python>

Gacy 发表于 2021-11-15 19:17:08

我走了,我连题目都不懂{:10_254:}

zzh11 发表于 2021-11-15 19:17:24

谢了好兄弟,python我也能写出来,但是我想知道的是JAVA怎么写

zzh11 发表于 2021-11-16 17:14:28

有没有大佬,写一下

一枚丶学渣 发表于 2021-11-17 11:14:26

public class Test01 {
    public static void main(String[] args) {

      Scanner scanner=new Scanner(System.in);
      //输入n
      int n = scanner.nextInt();
      //输入n个点的高度
      int[] nums=new int;
      for (int i=0;i<n;i++){
            nums=scanner.nextInt();
      }
      //输出山的个数
      System.out.println(countMountain(n,nums));
    }
    //计算山的个数
    public static Integer countMountain(int n,int[] nums){
      //如果点的个数小于3则不能构成山,所以直接返回0
      if (nums.length<3){
            return 0;
      }
      int res=0;
      //从索引值为1的点开始遍历,分别向两端搜索小于当前索引值的点的个数,两个值的乘积即为当前索引值为山峰的山的个数
      for (int i=1;i<nums.length-1;i++){
            int leftNums=0;
            for (int j=0;j<i;j++){
                if (nums<nums){
                  leftNums++;
                }
            }
            int rightNums=0;
            for (int j=i+1;j<nums.length;j++){
                if (nums<nums){
                  rightNums++;
                }
            }
            res+=leftNums*rightNums;
      }
      return res;
    }
}
页: [1]
查看完整版本: 救救孩子吧,写不出来