javascript - Es gibt ein Array. Wählen Sie daraus drei ganze Zahlen ABC aus und lassen Sie die Summe der drei ganzen Zahlen ABC gleich 0 sein. Wie viele solcher Arrays gibt es?

WBOY
Freigeben: 2016-08-20 09:04:06
Original
1006 Leute haben es durchsucht

Interviewfragen bitte beantworten

Antwortinhalt:

Interviewfragen bitte beantworten

Typisch 3Sum, die Originalfrage ist auf leetcode https://leetcode.com/problems... verfügbar

Für JavaScript können Sie sich meine Lösung https://github.com/hanzichi/l... ansehen

Diese Frage wurde auch von Herrn Zhao und Winter von der Job Creation Agency handgeschrieben. Sie können sie unter https://zhuanlan.zhihu.com/p/... nachlesen.

Die beste Methode scheint das zweiseitige Erzwingen von O(n^2) zu sein

Es sind definitiv 3 Ganzzahlen...führen Sie einfach die Dreifachschleifenaufzählung durch...

Wie @xiaoboost sagte, kann dies mit einfachen Brute-Force-Methoden erfolgen:

<code class="python">import itertools

def nsum(lst, n, target):
    count = 0
    for c in itertools.combinations(lst, n):
        if sum(c) == target:
            count += 1
    return count


if __name__ == '__main__':
    lst = [-1, 3, -2, 7, -4, -3, 6, 9, -2, -2, 1, 1, 0, 10, -1, 9, 8, -12]
    print(nsum(lst, 3, 0))</code>
Nach dem Login kopieren

Ergebnis:

<code>22</code>
Nach dem Login kopieren

Fragen, die ich beantwortet habe: Python-QA

<code class="python">from itertools import combinations

def sum_is_sth(lst, sth=0, cnt=3):
    return sum([1 for sub_lst in combinations(lst, cnt) if sum(sub_lst) == sth])</code>
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage