Bei einem Integer-Array A wird der maximal mögliche Summenabstand zwischen zwei Elementen zurückgegeben. Der Summe-Abstand ist definiert als A[i] + A[j] + (i - j)
für i> jMaximieren der Summenentfernung für das Integer-Array
beispielsweise mit A = [8, 2, 4, 9, 5, 8, 0, 3, 8, 2]
der max Summenabstand 24 mit i = 0 und j = 8
einer O (n) erreicht wird, Lösung ist trivial. Gibt es eine O (n) Lösung (wobei n die Länge des Arrays ist)?
Sicher, als 'max (A [i] + i für i im Bereich (len (A)) + max (A [j] - j für j im Bereich (len (A))). Dann sehe ich, wie du den Absolutwert oder die Einschränkung "i" bearbeitest j, und dann suche ich nach dem Duplikat –
@DavidEisenstat Macht das überhaupt einen Unterschied? Es scheint, als ob i - j negativ ist, gibt es eine bessere Lösung mit i und j ausgetauscht. In diesem Fall denke ich, können wir noch Markieren Sie es als Duplikat, wenn Sie nicht zu viel Mühe haben, es zu finden –
@NiklasB. Nun, wurde vorher gefragt, aber nicht beantwortet: http://stackoverflow.com/questions/31139032/in-an-array-find-the-largest-sum-distance-between-any-2-elements. Will dupe schließen Sie das hier hinein. –