0

bash には、次のようなソートされた整数配列があります。

array[0]=1
array[1]=2
array[2]=3
array[3]=4
array[4]=7
array[5]=9
array[6]=10
array[7]=13
array[8]=15
array[9]=16

そして、次のような出力を取得したい:

1-4,7,9-10,13,15-16

それを行うための簡単で迅速な方法はありますか?

4

1 に答える 1

1

それを行う標準的な方法はわかりませんが、独自の関数を作成してそれを行うのはそれほど難しくありません。次の行の何か:

  • 最初の配列要素「値」を「低」として保存します
  • 配列を反復処理し、現在の「インデックス」を「高」として保存します
  • 配列 'value' が 'index' と異なる場合、'low-high' IF not 'low == high' を出力し、次に 'low' を出力します
  • 'low' と 'index' を現在の 'value' にリセットして続行します
  • 'index' を 1 増やします

事前にソートされた空でない整数配列に対して十分に単純な擬似でなければなりません:)

(フォーマットについて申し訳ありません。現在、私は PC キーボード付きの Mac を使用していますが、うまく操作できません。)

于 2013-07-18T16:10:00.207 に答える