救救孩子吧,写不出来
求解 一个问题不明白,样例中的 (0 , 2 , 1)、(0 , 3 , 1)、(0 、4 、1) 、(0 、4 、3)为什么就不是一座山? jackz007 发表于 2021-11-15 18:17一个问题不明白,样例中的 (0 , 2 , 1)、(0 , 3 , 1)、(0 、4 、1) 、(0 、4 、3)为什么 ...
顺序不能变 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> 我走了,我连题目都不懂{:10_254:} 谢了好兄弟,python我也能写出来,但是我想知道的是JAVA怎么写 有没有大佬,写一下 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]