-3

配列内の値を比較する必要があります。

たとえば、私の配列は次のとおりです。

[18, 1, 113, 103, 1100, 909, 94, 67, 61]

18->1、などの各値を比較する必要があり1->113ます113->103

4

1 に答える 1

2

必要な比較の種類は指定しませんが、これは配列をウォークスルーし、連続する要素を比較します。

puts [
  18, 1, 113, 103, 1100, 909, 94, 67, 61
].each_cons(2).map{ |a, b| a <=> b }

どの出力:

1
-1
1
-1
1
1
1
1

比較演算子<=>は、2 つの値を比較するための並べ替えに使用されます。a < bの場合は -1、 の場合は 0、 の場合はa == b1を返しますa > b

つまり、18 > 11 < 113113 > 103103 < 1100、および残りはすべて降順であることがわかります。

<=>必要な比較に置き換えてください。

于 2012-12-30T04:39:47.573 に答える