Documentation ¶
Index ¶
- func CompareStrings1(s1, s2 string) int
- func CompareStrings2(s1, s2 string) int
- func FindLongestSequence1(arr []int) int
- func FindLongestSequence2(arr []int) int
- func GenerateParenthesis(n int) []string
- func GetIntersectionCount1(J, S string) int
- func GetIntersectionCount2(J, S string) int
- func GetIntersectionCount3(J, S string) int
- func GetIntersectionCount4(J, S string) int
- func MergeArrays1(arrays [][]int) []int
- func MergeArrays2(arrays [][]int) []int
- func MergeArrays3(arrays [][]int) []int
- func RemoveDuplicates1(arr []int32) []int32
- func RemoveDuplicates2(arr []int32) []int32
- type Item
- type PriorityQueue
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CompareStrings1 ¶
func CompareStrings2 ¶
func FindLongestSequence1 ¶
func FindLongestSequence2 ¶
func GenerateParenthesis ¶
выводит все правильные скобочные последовательности длины 2*n, упорядоченные лексикографически
func GetIntersectionCount1 ¶
Функция работает за время O(n+m), где n и m - длины строк S и J соответственно. Если строки S и J будут очень длинными, это решение может быть неэффективным.
func GetIntersectionCount2 ¶
Это решение проще и более эффективное, так как встроенная функция strings.Count работает за линейное время. Алгоритм работает за время O(n*m), где n и m - длины строк S и J соответственно. Если строки S и J будут очень длинными, это решение может быть неэффективным.
func GetIntersectionCount3 ¶
Это решение проще и более эффективное, так как использует слайс, который работает за линейное время. Алгоритм имеет сложность O(n^2), где n - длина строки S. Время выполнения алгоритма будет расти квадратично с увеличением длины строки S.
func GetIntersectionCount4 ¶
Это решение еще более эффективное, так как использует битовые операции, которые работают за константное время. Однако, оно может быть менее читаемым и менее подходящим для некоторых задач. Общая сложность алгоритма составляет O(m*log(n)), где m - длина строки J. Если строки S и J очень длинные, то может замедлиться выполнение программы из-за необходимости выполнения сортировки, что будет медленнее, чем O(n+m).
func MergeArrays1 ¶
func MergeArrays2 ¶
func MergeArrays3 ¶
func RemoveDuplicates1 ¶
func RemoveDuplicates2 ¶
Types ¶
type PriorityQueue ¶
type PriorityQueue []*Item
func (PriorityQueue) Len ¶
func (pq PriorityQueue) Len() int
func (PriorityQueue) Less ¶
func (pq PriorityQueue) Less(i, j int) bool
func (*PriorityQueue) Pop ¶
func (pq *PriorityQueue) Pop() interface{}
func (*PriorityQueue) Push ¶
func (pq *PriorityQueue) Push(x interface{})
func (PriorityQueue) Swap ¶
func (pq PriorityQueue) Swap(i, j int)