落書きノート

ふと自分が気になった事を書いてます

Javaで問題を解く

以前に投稿してましたけど漏れがあったので修正してやってみました。今回はなかなか良い出来です。以前の記事は削除しました。最近は丁寧に更新してるな…。それはそうとAIZU ONLINE JUDGE,落ちてますね。メンテナンス中なんでしょうか。

世界で闘うプログラミング力を鍛える本 ~コーディング面接189問とその解法~

世界で闘うプログラミング力を鍛える本 ~コーディング面接189問とその解法~

// 問題2.1 重複要素の削除
import java.util.LinkedList;
import java.util.Hashtable;
import java.util.Enumeration;

class q2_1 {
    public static void main(String[] args) {
        int[] num = {3,4,5,2,1,5,3,4,2,1,1,2,3,4,5,1,2,3,4,5};
        LinkedList<Integer> array
            = new LinkedList<Integer>();
        Hashtable<Integer,Integer> numbers
            = new Hashtable<Integer,Integer>();
        for(int n : num)
            array.add(n);
        for(int n : array) {
            if(numbers.containsKey(n))
                numbers.put(n, numbers.get(n) + 1);
            else
                numbers.put(n, 1);
        }
        for(Enumeration<Integer> keys = numbers.keys();
            keys.hasMoreElements();) {
            int n = keys.nextElement();
            for(int i = 0; i < numbers.get(n) - 1; i++)
                array.remove(array.indexOf(n));
        }
        for(int n : array) {
            System.out.print(n);
            System.out.print(' ');
        }
        System.out.println();
    }
}