• ベストアンサー

second max

題名の通り、二番目や三番目の最大値を求めようとしているのですが どのように手をつけたらいいのか検討がつきません。 (maximumOfArreyElementsをうまく応用するくらいしか想像出来ません。) 三時間ほど考えましたが、解決策が見つからず、ここへ質問している次第です。 解決法があれば、ご教授お願いいたします。

  • Java
  • 回答数3
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • tachiwa
  • ベストアンサー率34% (25/73)
回答No.3

一番簡単なソートです。 class SortAndShowMax { public static void main(String args[]){ int[] intArray = {1,2,3,4,5,6,7,8,9}; int tmp = 0; for(int i = 0; i < intArray.length; i++){ for(int j = i + 1; j < intArray.length; j++){ if(intArray[i] < intArray[j]){ tmp = intArray[i]; intArray[i] = intArray[j]; intArray[j] = tmp; } } } System.out.println("MaxOne:" + intArray[0]); System.out.println("MaxTwo:" + intArray[1]); System.out.println("MaxThree:" + intArray[2]); } }

jun-nosuke
質問者

お礼

お礼が遅れて申し訳ございません。 ご解答、有難うございました。 記述していただいたソートをじっくりと拝見させていただきました。 >tmp = intArray[i]; intArray[i] = intArray[j]; intArray[j] = tmp; これがソートの仕組みのポイントですね、納得です。 参考になりました、有難うございました。

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

#1>ソートの方法も具体的に教えてください。 データの構造にもよりますけど、 java.util.Arrays.sort(T[], java.util.Comparator) とか java.util.Collections.sort(java.util.List,java.util.Comparator) とかが使えると思います。 キーが重複を許さないのであれば、 MapTree なども使えると思います。 そうした標準的な、データ構造を使わないのであれば、 一通り、全部のデータをなめれば、最大値が求まりますし、 2番目の最大値は、1番目の最大値を除いたデータで、最大値を求めれば良いと思います。(以下同じ)

jun-nosuke
質問者

お礼

お礼が遅れました、ご解答有難うございます。 >2番目の最大値は、1番目の最大値を除いたデータで、最大値を求めれば良いと思います。(以下同じ) 確かにこのように考えれば、納得がいきます。 一番目の最大値を除く、という所がミソですね。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

ソートしてしまうとか (選択法で三つ目までを求めるとか)

jun-nosuke
質問者

お礼

累計2回目のご回答有難うございます。 ソートして値を並び替えることも考えたのですが、いまいちソートの 方法がわからず、途方に暮れております。 出来ましたら、ソートの方法も具体的に教えてください。 よろしくお願いします。

関連するQ&A

  • iTunesを立ち上げると画面が真っ黒

    題名の通りです>< 画像の通りになってしまいます。(見にくくてすいません) 解決法をどなたかよろしくお願いします

  • 髭がうまくそれない

     題名どおりなんですが、髭をそるといつもぶつぶつが残ってしまいます。シェイバーを使っても、残ってしまうのですが、何かいい解決策はありますか。教えてください。

  • 「Windows の終了」から「スタンバイ」が消えてしまいました

    初めまして。色々調べたのですが、解決策が見つからなかったので質問させてください。 質問内容は題名のとおりです・・・ 色々あって、パソコンを2回ほどOSを再インストールしているのですが、今回再インストしたら、Windowsの終了オプション画面で、今まであった「スタンバイ」項目が消えてしまいました。 私的には、度々使う場面が多かったので少しショックでたまりません。 http://homepage2.nifty.com/winfaq/w98/trouble.html#29 ↑こちらの上記の方法はやってみたのですが、項目3番の[アドバンスト パワー マネジメント サポート]というのがなく、削除するにも出来なくてこれ以降作業が進みません。 かといって下記の方をやっても、 ~~\Services \VxD \VPOWERD  の「VxD」がなくこれも進みません。 皆さんはこれで解決しているようですが、これ以外に解決策というものはあるのでしょうか?? 宜しくお願い致します。

  • シュー生地がオーブンシートにくっつきます

    題名のとおり、焼いた後シュー生地がオーブンシートにくっついてしまいます・・・何かいい解決策はありませんでしょうか?

  • 高校数学 勉強法について

    Focus Goldの難易度***~****(応用~発展)の問題を解いている時にかなりの時間がかかってしまいます(2時間で5問程度)。 解法がある程度浮かぶのですが、試行錯誤しているうちに数十分かかってしまった、という感じです。 (殆ど手を動かしているので、ぼーっとしているわけではない)。 何か解決法はないでしょうか?

  • 現在iPod touch 2nd を使用しています。

    現在iPod touch 2nd を使用しています。 曲順についての質問が多数ある中で、全く解決しないのでご教授お願いします。 まず、itunesの情報でトラック番号の確認をしたんですが、1番に来てほしい曲は1/25となっていました。 最後に来てほしい曲は25/25となっています。 しかし、同期すると全くの逆に並んでいるので、今度は1番に来てほしい曲を25/25としたところ、笑えるぐらいになんともなく変化なしです。 結局どうしていいのかさっぱりわかりません。 今現在アルバムの順序と全くの逆のまま何をしても変わらないです。 どうすればいいのでしょうか?

  • 自分のメルアドの見方

    題名の通りお願いします。 くだらない質問ですが。。即レス願います。 レスして頂き次第ポイントさせて頂きます。

  • パソコンが最近重すぎる

    題名どおり最近パソコンが異様に遅いです スリープが休止状態並みの起動の遅さ 何か解決法はないですかね?? 回答よろしくおねがいします

  • グーグルの検索画面がおかしくなっているのですが・・

    題名どうりです 画像のとおり、ちょっと前にかってにかわっていて、きにしてなかったのですが、そろそろイライラしてきました。 なにかウイルスがはいった覚えはないし、なにもさわってないし、クロームは最新ヴァージョンだし・・・ なにか解決策はありませんか? ご返答、よろしくおねがいします。

  • パソコンの動作が遅すぎます!

    自宅のパソコンがよくクラッシュしたり、 突然シャットダウンしたりしてしまいます。 原因及び解決法があれば教えてください。 それから、何と言っても動作が遅すぎるんです。。。 ブラウザを立ち上げるときなんて5分くらいかかる。。。 何故でしょう どなたか解決策をご教授ください!