Algorytm jest sekwencją dobrze zdefiniowanych kroków, które definiują abstrakcyjne rozwiązanie problemu. Użyj tego tagu, gdy Twój problem dotyczy projektu algorytmu.
Muszę utworzyć funkcję, która przyjmuje ciąg znaków i powinna zwracać truelub w falseoparciu o to, czy dane wejściowe składają się z powtarzającej się sekwencji znaków. Długość podanego ciągu jest zawsze większa niż, 1a sekwencja znaków musi mieć co najmniej jedno powtórzenie. "aa" // true(entirely contains two strings "a") "aaa" //true(entirely …
Jak sprawdzić, czy liczba jest palindromem? Dowolny język. Dowolny algorytm. (z wyjątkiem algorytmu przekształcania liczby w łańcuch, a następnie odwracania ciągu).
W tym pytaniu Jak efektywnie wybrać kontener biblioteki standardowej w C ++ 11? to przydatny schemat blokowy, którego można używać podczas wybierania kolekcji w języku C ++. Pomyślałem, że to przydatne źródło informacji dla osób, które nie są pewne, której kolekcji powinny używać, więc próbowałem znaleźć podobny schemat blokowy dla …
Jeśli masz miliard liczb i sto komputerów, jaki jest najlepszy sposób na zlokalizowanie mediany tych liczb? Jedno rozwiązanie, które mam, to: Podziel zestaw równo między komputery. Sortuj je. Znajdź mediany dla każdego zestawu. Sortuj zestawy według środkowych. Połącz dwa zestawy naraz, od najniższej do najwyższej mediany. Jeśli mamy m1 < …
W obecnym stanie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi będą poparte faktami, referencjami lub ekspertyzą, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i prawdopodobnie ponownie otworzyć, odwiedź centrum pomocy, aby uzyskać …
Pracuję na tablicy mieszającej w języku C i testuję funkcję skrótu dla ciągu znaków. Pierwszą funkcją, którą wypróbowałem, jest dodanie kodu ascii i użycie modulo (% 100), ale mam słabe wyniki przy pierwszym teście danych: 40 kolizji na 130 słów. Ostateczne dane wejściowe będą zawierały 8 000 słów (jest to …
Załóżmy, że mamy tablicę n liczb całkowitych reprezentujących ceny akcji w jednym dniu. Chcemy znaleźć parę (buyDay, sellDay) , gdzie buyDay ≤ sellDay , taką, że gdybyśmy kupili akcje w buyDay i sprzedali w sellDay , zmaksymalizowalibyśmy nasz zysk. Oczywiście istnieje rozwiązanie algorytmu O (n 2 ) polegające na wypróbowaniu …
Mając listę słów, jak byś ułożył je w siatkę krzyżówek? Nie musiałaby przypominać „właściwej” krzyżówki, która jest symetryczna lub podobna: w zasadzie wystarczy podać pozycję początkową i kierunek dla każdego słowa.
Mając tablicę n liczb całkowitych i określoną liczbę X, znajdź wszystkie unikalne pary elementów (a, b), których suma jest równa X. Oto moje rozwiązanie, jest to O (nLog (n) + n), ale nie jestem pewien, czy jest optymalne, czy nie. int main(void) { int arr [10] = {1,2,3,4,5,6,7,8,9,0}; findpair(arr, 10, …
Potrzebuję algorytmu, który może podać mi pozycje wokół kuli dla N punktów (prawdopodobnie mniej niż 20), który rozłoży je niejasno. Nie ma potrzeby „perfekcji”, ale po prostu jej potrzebuję, aby żadne z nich nie były ze sobą połączone. To pytanie zawierało dobry kod, ale nie mogłem znaleźć sposobu na zrobienie …
Arrays.sortMetoda Java 6 wykorzystuje Quicksort do tablic prymitywów i sortowanie przez scalanie dla tablic obiektów. Uważam, że przez większość czasu Quicksort jest szybszy niż scalanie, sortowanie i kosztuje mniej pamięci. Moje eksperymenty to potwierdzają, chociaż oba algorytmy mają wartość O (n log (n)). Dlaczego więc różne algorytmy są używane dla …
Prawie rozumiem, jak działa rekurencja ogona i jaka jest różnica między nią a normalną rekurencją. Nie rozumiem tylko , dlaczego nie wymaga stosu do zapamiętania adresu zwrotnego. // tail recursion int fac_times (int n, int acc) { if (n == 0) return acc; else return fac_times(n - 1, acc * …
Dane wejściowe: biorąc pod uwagę tablicę n elementów, która zawiera elementy od 0 do n-1, przy czym każda z tych liczb pojawia się dowolną liczbę razy. Cel: znaleźć te powtarzające się liczby w O (n) i używając tylko stałej przestrzeni pamięci. Na przykład niech n wynosi 7, a tablica {1, …
Czy ktoś może mi powiedzieć, dlaczego algorytm Dijkstry dla najkrótszej ścieżki z jednego źródła zakłada, że krawędzie muszą być nieujemne. Mówię tylko o krawędziach, a nie o ujemnych cyklach wagi.
Niedawno zacząłem używać LINQ całkiem sporo i tak naprawdę nie widziałem żadnej wzmianki o złożoności czasu wykonywania żadnej z metod LINQ. Oczywiście w grę wchodzi wiele czynników, więc ograniczmy dyskusję do zwykłego IEnumerabledostawcy LINQ-to-Objects. Dalej, załóżmy, że każda Funcprzekazana jako selektor / mutator / itp. Jest tanią operacją O (1). …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.