- ベストアンサー
配列の組み合わせを数える方法
i2719の回答
- i2719
- ベストアンサー率35% (11/31)
配列のまま数えるなら String[] a = { "aaa", "bbb", "aaa", "ccc", "bbb", "aaa" }; String[] b = { "1", "1", "1", "2", "1", "2" }; int length = a.length; int[] c = new int[length]; java.util.Arrays.fill(c, 1); for (int i = length - 1; i >= 0; i--) { int count = c[i]; String ai = a[i], bi = b[i]; for (int j = i - 1; j >= 0 && count > 0; j--) { if (a[j] == ai && b[j] == bi) { c[j] += count; count = 0; } } if (count > 0) { System.out.println(ai + " - " + bi + " : " + count + "個"); } }
関連するQ&A
- 配列の要素の組み合わせ
下記のような前提となる配列と、その配列を使った子要素の組み合わせを得られるファンクションを作成しようとしているのですが、なかなかうまく思いつきません。 どのようにしたら可能になりますでしょうか? 【前提】==================== $arr_lst = array( array( 'aaa', 'bbb', ), array( 'AAA', 'BBB', ), array( '111', '222', ), ); 【期待する結果】==================== 'aaa' 'bbb' 'AAA' 'BBB' '111' '222' 'aaa'-'AAA' 'aaa'-'BBB' 'aaa'-'111' 'aaa'-'222' 'bbb'-'AAA' 'bbb'-'BBB' 'bbb'-'111' 'bbb'-'222' 'AAA'-'111' 'AAA'-'222' 'BBB'-'111' 'BBB'-'222' 'aaa'-'AAA'-'111' 'aaa'-'AAA'-'222' 'aaa'-'BBB'-'111' 'aaa'-'BBB'-'222' 'bbb'-'AAA'-'111' 'bbb'-'AAA'-'222' 'bbb'-'BBB'-'111' 'bbb'-'BBB'-'222' 以上、よろしくお願い致します。
- ベストアンサー
- PHP
- perlでの配列について
配列の配列について教えてください。 以下のようなテキストから値を取得し、A,B,Cの値をそれぞれ別の配列に格納し、A,B,Cの平均値を出す処理を行っているとします。 ----- A=100 B=200 C=300 A=110 B=210 : ----- 現状、以下のような状態です。 @arrayA=(); @arrayB=(); @arrayC=(); : (テキストを読み込み) : ・読み込んだ行がA=XXXならarrayAにpush push(@arrayA,"100"); ・読み込んだっ行がB=XXXならarrayBにpush push(@arrayB,"100"); : (各配列の要素の平均値を出す) このやり方だと、グループが増えるとそのまま行数が増えて冗長なので、グループごとの配列を1つの配列にまとめたいのです。 Webで初期値を入れた形で説明しているのはよくみるのですが、今回のように空の配列に値をいれていくにはどうすればよいのでしょうか?(そもそも宣言の仕方もわかりません)。 また、配列の配列?とした場合、以下のような処理はできるのでしょうか? (1)配列の1つ目の要素(の配列)にpushする(現状でのarrayAにpushに該当) push(@arrayAll[0],"test");
- 締切済み
- Perl
- VBAの多次元配列のコピー
お世話になります。 ArrayA(10,10)とArrayB(10,10,5)があります。 ArrayA(10,10)をArrayB(10,10,1)にコピーしたいのですが、 どのようにすればよいでしょうか? forで回すしか方法はないのでしょうか? お手数ですが宜しくお願いします。
- ベストアンサー
- Visual Basic
- Excelでのデータ集計/関数の組み合わせ等
Excelでのデータ集計/関数の組み合わせ等 いつも、お世話になっております データ集計用に配列数式や関数を駆使しているのですが 思った通りの集計が出来ません。 以下のような集計方法を教えて頂けますでしょうか。 日付-ID-数 2010/7/1-AAA-5000 -BBB-3000 -CCC-0 2010/7/2-AAA-6000 -BBB-3000 -CCC-4000 …… 2010/8/1-AAA-4000 …… 1月単位でID毎に数が1以上あるレコードの数と その合計を取得したいのです。 ex1:2010/7/1-2010/7/31 AAA 31件 100000 ex2:2010/7/1-2010/7/31 CCC 30件 80000(7/1が0なので件数は1件減る) {=SUM(IF(MONTH(!$A$1:!$A$500)=1,1,0))}のような式では 日付の無いセルも参照している為、(ID:BBBの前には日付がない) 空白セルが1月と見なされてよけいな数字が入ってしまいます。 (1900/1/0と見なされている) YEAR関数も併用してみようと思いましたが上手く行きませんでした。 以上、よろしくお願い致します。
- ベストアンサー
- その他MS Office製品
- STRING 配列の比較処理
"aaa","bbb","ccc"などの配列を、キーで入力した文字と比較後、正解数と実施数と正解済み表示を行おうとするのですが、入力が配列を見に行ってくれないようです、どなたか急ぎご教授頂けないでしょうか?お願いします。
- 締切済み
- Java
- ファイル入出力と配列について。
aaa 1 a bbb 2 b ccc 3 c このようなファイルを読み込んで、 配列に入れてたいのですが、 やり方がわかりません。 どなたか教えてください。 お願いします。
- ベストアンサー
- C・C++・C#
- 配列に入っている値のソート
str(1)="bbb" str(2)="aaa" str(3)="ddd" str(4)="eee" str(5)="ccc" という配列があるとします。 これを昇順にソートさせて、 str(1)="aaa" str(2)="bbb" str(3)="ccc" str(4)="ddd" str(5)="eee" とさせたいのですが、どのようにすればよろしいでしょうか?
- ベストアンサー
- Visual Basic
- [Objective-c]多次元配列のアクセス方法
[Objective-c]多次元配列のアクセスの仕方をご教授いただきたく思います 処理文 NSLog(@"%@",[ar objectAtIndex:1]); ※arは多次元配列 コンソールの表示結果 { item1 ="aaa"; item2 ="bbb"; item3 ="ccc"; } インターネットでは多次元配列のアクセスの仕方が見当たりませんでした。 この様な表示ではなく、この中のaaa,bbb,cccをそれぞれを明示的に取得する方法は存在しますでしょうか? よろしくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)