我正在创建一个用户输入布尔值的数组,数组将计算输出数量的use std::collections::hash_map::Entry::{Occupied, Vacant};
match map.entry(key) {
Occupied(val) => {
some_update_logic(val.get());
},
Vacant(entry) => {
let val = entry.insert(create_val());
some_creation_logic(val);
}
}
和true
的数量。
例如,如果false
则输出TorF[] = {true, false, true, true, false}
(三个[3,2]
和2个true
)。
到目前为止,我有这个:
false
我不太确定这是不对的。如果有人可以帮助我,那将非常感激
谢谢
答案 0 :(得分:2)
true
和false
(您无法在Java中使用False
)。此外,您只需要计算true
(s)(因为谬数是总数减去桁架数)。我会使用for-each
loop。像,
public static int[] longestStreak(boolean[] values) {
int trueCount = 0;
for (boolean b : values) {
if (b) {
trueCount++;
}
}
return new int[] { trueCount, values.length - trueCount };
}
Java 8+中的或,类似
public static int[] longestStreak(boolean[] values) {
int trueCount = (int) IntStream.range(0, values.length)
.filter(i -> values[i]).count();
return new int[] { trueCount, values.length - trueCount };
}
答案 1 :(得分:0)
Java 8的方法:
> ./a.out baz
world, say hello!
xoqmd, rby gflkp!
>