考虑以下问题:给定一个整数数组,返回数组递减的次数。所以 [3,2,1] 减少了两次(在 3 和 2); [1,2,3,4,5,4,3,2,1] 减少了 4 次(在 5, 4, 3, 2),而 [1] 没有减少。
在任何语言的 for 循环中解决这个问题都非常容易:
int result = 0;
for (int i = 0; i < array.length - 1; i++) {
if (array[i] > array[i+1]) result += 1;
}
我只知道如何使用 for 或 while 循环并跟踪索引来解决这个问题。我不知道使用像 map 这样的方法或使用列表或理解的任何功能方式,但这是我希望存在的。
请您参考如下方法:
