最初の質問:2次元配列を見つけるために
タイトル説明
(同一の各一次元アレイの長さ)は、上から下に増加する順に、二次元アレイの各列をソートし、ソート昇順の順に左から右へ、各行。完全な機能は、そのような二次元アレイと整数を入力し、配列の整数が含まれているか否かが判断されます。
問題の解決策
:
valは配列[i]の[j]は、その後、J ++よりも大きい場合により2次元配列の数に下刻みに右、上左からインクリメントされ、その後、我々は、左下隅から見て検討することができ未満の場合は[I] [J]その後、i--、そうでない場合は、出力の真の表現は、valのを見つけました。
最後に見つからない場合は、要素が存在しないことを示し、falseを返します。no要素があること。
リファレンスコード:
1 クラスソリューション{ 2 公共: 3 BOOL検索(INTターゲット、ベクトル<ベクトル< INT >> アレイ){ 4 // 配列は空判定が動作していない2次元配列である 5。 INTの行= (array.size); 6。 INT COLS =配列[ 0 ] .size(); 7 INT I = rows- 1。、J = 0 ; // 要素の左下座標 8 ながら(I> = 0 && J <COLS){ // ようにアレイを超えません範囲 。9 IF(目標< 配列[I] [J]) 10 i--; // 見つけるためのより少ない要素、見上げる 。11 他の IF(ターゲット> 配列[I] [J]) 12は、 J ++; //は、右を見つけるために、より大きな要素を探す 13があり 、他の 14 のリターン をtrueに ; / / 見出さ 15 } 16 リターン falseにする; 17 } 18です }。
2番目の質問:空白を置き換えます
タイトル説明
、にそれぞれのスペースを置き換えるために、文字列関数を実装してください「20%。」例えば、文字列があるとき、私たちは幸せです。文字列が後に我々%20Are%20Happy交換後。
ソリューション:レッツは、交換後の文字列の長さを計算するためのスペースの数をカウントアップし、背面から交換することができます。
リファレンスコード:
コードの表示
1 パブリック クラスソリューション{ 2 公共ストリングreplaceSpace(StringBufferのSTR){ 3 リターン str.toString()でReplaceAll( "\\ S"、 "20%"。 )。 4 } 5 }
3番目の質問は:頭に尾から文字を印刷します
タイトル説明
ArrayListの頭に尾から順にリストを返すことによって、リストを入力します。
溶液:各ヘッド部をヘッド== NULLまで、ベクターに挿入されます。
リファレンスコード:
1 / * * 2 *構造体ListNode { 3 * INTヴァル。 4 次の*構造体ListNode *; 5 * ListNode(INT X): 6 *ヴァル(x)は、次の(NULL){ 7 *} 8 *}。 9 * / 10 クラスソリューション{ 11 公共: 12 ベクトル< INT > printListFromTailToHead(ListNode * ヘッド) 13 { 14 ベクター< INT > ANS。 15 しばらく(ヘッド!= NULL) 16 { 17 ans.insert(ans.begin()、頭部> ヴァル) 18 ヘッド=頭部> 次。 19 } 20 リターンANS。 21 22 } 23 }。
ソリューション:レッツは、交換後の文字列の長さを計算するためのスペースの数をカウントアップし、背面から交換することができます。
リファレンスコード:
コードの表示
1 パブリック クラスソリューション{ 2 公共ストリングreplaceSpace(StringBufferのSTR){ 3 リターン str.toString()でReplaceAll( "\\ S"、 "20%"。 )。 4 } 5 }
3番目の質問は:頭に尾から文字を印刷します
タイトル説明
ArrayListの頭に尾から順にリストを返すことによって、リストを入力します。
溶液:各ヘッド部をヘッド== NULLまで、ベクターに挿入されます。
リファレンスコード:
1 / * * 2 *構造体ListNode { 3 * INTヴァル。 4 次の*構造体ListNode *; 5 * ListNode(INT X): 6 *ヴァル(x)は、次の(NULL){ 7 *} 8 *}。 9 * / 10 クラスソリューション{ 11 公共: 12 ベクトル< INT > printListFromTailToHead(ListNode * ヘッド) 13 { 14 ベクター< INT > ANS。 15 しばらく(ヘッド!= NULL) 16 { 17 ans.insert(ans.begin()、頭部> ヴァル) 18 ヘッド=頭部> 次。 19 } 20 リターンANS。 21 22 } 23 }。