さて、何しようとしてるでしょうか。

public class Test {

	public static void main(String[] args) {
		int width = 4,height = 8,size = width * height;
		int[] memo = new int[size];
		int[][] masu = new int[height][width];
		int rest = size;
		for(int i = 0; i < size; i++) memo[i] = i;
		for(int i = 0; i < size; i++, rest–) {
			int n = (int)(Math.random() * rest);
			masu[memo[n] / width][memo[n] % width] = i;
			System.arraycopy(memo, n + 1, memo, n, rest – n – 1);
		}
		for(int y = 0 ;y < height; y++) {
			for(int x = 0; x < width; x++) {
				System.out.print(masu[y][x] + "\t");
			}
			System.out.print("\n");
		}
	}
}

関連記事

  • 麻雀の待ち判定問題 part2麻雀の待ち判定問題 part2 「あなたのスキルで飯は食えるか? 史上最大のコーディングスキル判定」 [西尾泰三,ITmedia] 2010年04月03日 00時00分 […] Posted in アルゴリズム
  • 麻雀の待ち判定問題 part1麻雀の待ち判定問題 part1 昨晩は、話題の「あなたのスキルで飯は食えるか? 史上最大のコーディングスキル判定」をやってました。 意外に時間がかかって大変でした。 こんな時期にやるんじゃなかった。眠たい。(p_-) 正直3時間ちょっとかかってしまいました。 テンパイ(1113335558888)とチートイツ判定なしです。 以下は、作った後の感想です。 3時間が短いと感じまし […] Posted in アルゴリズム
  • ランダムな添え字ランダムな添え字 こんな感じで。 Java /** * 指定した長さの一様分布な重複しないランダムな添え字を作成します。 * @param length * @param seed * @return */ public static int[] getRandomIndex(int length, long seed) […] Posted in アルゴリズム
  • JavaでStringとint[]の相互変換する方法JavaでStringとint[]の相互変換する方法 はじめに charAt1文字を1変数(コードポイントで)に割り当てたい。 そんな要望からStringとint[]との相互変換を行ってみます。 使い方はお察し下さい。 文字列から数値配列へ static public int[] toInteger(String text) { int textlength = text.length(); for (int […] Posted in プログラミング
  • JavaのコンボボックスでホイールぐりぐりしたいJavaのコンボボックスでホイールぐりぐりしたい リスナーを付ければ解決だよ! import java.awt.event.MouseWheelEvent; import java.awt.event.MouseWheelListener; import java.util.Vector; import javax.swing.ComboBoxModel; import […] Posted in プログラミング
  • Bresenhamアルゴリズムで線分の計算は早いのかなBresenhamアルゴリズムで線分の計算は早いのかな 以前、直線を描くのにこんなのを作った。 特に工夫点もない、素直な方法である。 #module "linem" #deffunc line2 int line_x1,int line_y1,int line_x2,int line_y2 line_xabs = abs(line_x1-line_x2) line_yabs = […] Posted in アルゴリズム