[解決済み] JavaでcodingBat Post4を1ループで解く
2022-02-26 18:12:32
質問
解答についての質問です。 これ の問題をJavaでcodingBatしています。
問題文です。
int の空でない配列が与えられたとき,元の配列の最後の 4 の後に来る要素を含む新しい配列を返します.元の配列には、少なくとも 1 つの 4 が含まれます。なお、Java では長さ 0 の配列を作成することも可能です。
post4({2, 4, 1, 2}) → {1, 2} となります。
post4({4, 1, 4, 2}) → {2} となります。
post4({4, 4, 1, 2, 3}) → {1, 2, 3}となります。
以下は私の解答です。
public int[] post4(int[] nums) {
int lastFour=-1;
int[] post4={};
for(int i=nums.length-1;i>=0;i--)
{
if((nums[i]==4))
{
lastFour=i; //find the index of the last 4 in the array
break;
}
}
int newLen=(nums.length-lastFour)-1;
post4=new int[newLen]; //reassign the post4 array with required length
for(int j=0;j<newLen;j++)
{
post4[j]=nums[lastFour+1]; //assign values from orig. array after last 4
lastFour++;
}
return post4;
}
しかし、私は2つのループを使用しています。最大でも1つのループで解決する必要があります。コレクションやラッパーのクラスは使わないでください。
どのように解決するのですか?
- 反復処理の前に、長さ0とする結果配列を作成します。
-
を見つけるたびに
4
のインデックスに基づいた大きさの新しい結果配列を作成します。4
の長さとnums
で残りの要素を格納します。 -
でない場合は
4
を結果配列に配置します(結果配列の長さが0
は見つからなかったということだからです。4
の最後の要素であるか、あるいはnums
の配列)になります。
以下は解決例です。
public int[] post4(int[] nums) {
int[] result = new int[0];
int j = 0;
for (int i = 0; i<nums.length; i++){
if (nums[i] == 4) {
result = new int[nums.length - i-1];
j=0;
}
else
if (result.length>0) result[j++] = nums[i];
}
return result;
}
関連
-
[解決済み] 警告: コンテキスト初期化中に例外が発生 - 更新の試みはキャンセルされました。
-
[解決済み] java.lang.ClassNotFoundException: クラス com.ibm.db2.jcc.DB2Driver が Worklight プラットフォームまたはプロジェクトに見つかりませんでした。
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] ArrayListの初期化を1行で行う。
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JVMフラグCMSClassUnloadingEnabledは、実際に何をするのですか?
-
[解決済み] ストリングビルダー.イコール Java
-
[解決済み] java.lang.ClassCastException: java.util.Arrays$ArrayList は java.util.ArrayList にキャストできません。
-
[解決済み] java.lang.IncompatibleClassChangeError: Mongo クラスを実装しています。
-
[解決済み] Androidのコールバックとは何ですか?重複
-
[解決済み] android.support.v4.app.FragmentActivity' で 'TAG' がプライベートアクセスされている。
-
[解決済み] 要素 'beans' の宣言が見つかりません。
-
[解決済み] Java の文字列インデックスが範囲外です。0 [閉店]
-
[解決済み] 文字列の巻き方
-
[解決済み] java swingアプリケーションでJCEがプロバイダBCを認証できない