牛オフは(常に更新〜)のオファーを獲得します

最初の質問: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です }。
C ++

 

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 }。
C ++

 

 
 
 
 
 
 
ソリューション:レッツは、交換後の文字列の長さを計算するためのスペースの数をカウントアップし、背面から交換することができます。
 
リファレンスコード:
  コードの表示
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 }。
C ++

 

 
 
 
 
 
 

おすすめ

転載: www.cnblogs.com/csushl/p/11946380.html