回答編集履歴

4

数不定の場合が「すべてtrue」という状況にそぐわなかったため削除

2016/11/20 07:59

投稿

swordone
swordone

スコア20651

test CHANGED
@@ -33,13 +33,3 @@
33
33
  ```
34
34
 
35
35
  の様に書けます。
36
-
37
- 数が不定なら、
38
-
39
- ```java
40
-
41
- if (bitset.nextClearBit(0) == bitset.length())
42
-
43
- ```
44
-
45
- のようになるかと。

3

BitSetのSが小文字になっていた

2016/11/20 07:59

投稿

swordone
swordone

スコア20651

test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
 
21
- なお、多くのboolean値を使うのであれば、booleanの配列ではなく[Bitset](http://docs.oracle.com/javase/jp/8/docs/api/java/util/BitSet.html)を使うことをおすすめします。これを使えば、「すべてtrueか」という判定が、例えば今回のように最大数maxが100と決まっていれば、
21
+ なお、多くのboolean値を使うのであれば、booleanの配列ではなく[BitSet](http://docs.oracle.com/javase/jp/8/docs/api/java/util/BitSet.html)を使うことをおすすめします。これを使えば、「すべてtrueか」という判定が、例えば今回のように最大数maxが100と決まっていれば、
22
22
 
23
23
  ```java
24
24
 

2

数不定の場合について追加

2016/11/20 07:58

投稿

swordone
swordone

スコア20651

test CHANGED
@@ -33,3 +33,13 @@
33
33
  ```
34
34
 
35
35
  の様に書けます。
36
+
37
+ 数が不定なら、
38
+
39
+ ```java
40
+
41
+ if (bitset.nextClearBit(0) == bitset.length())
42
+
43
+ ```
44
+
45
+ のようになるかと。

1

BitSetの紹介

2016/11/20 07:53

投稿

swordone
swordone

スコア20651

test CHANGED
@@ -15,3 +15,21 @@
15
15
  }
16
16
 
17
17
  ```
18
+
19
+
20
+
21
+ なお、多くのboolean値を使うのであれば、booleanの配列ではなく[Bitset](http://docs.oracle.com/javase/jp/8/docs/api/java/util/BitSet.html)を使うことをおすすめします。これを使えば、「すべてtrueか」という判定が、例えば今回のように最大数maxが100と決まっていれば、
22
+
23
+ ```java
24
+
25
+ if (bitset.nextClearBit(0) >= max)
26
+
27
+ ```とか
28
+
29
+ ```java
30
+
31
+ if (bitset.previousClearBit(max - 1) < 0)
32
+
33
+ ```
34
+
35
+ の様に書けます。