/
githubmirror
/
hello-algo
Обзор
Документация
Войти
/
githubmirror
/
hello-algo
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
codes/go/chapter_searching/two_sum.go
33 строки
765 B
huangjikun
Fix incorrect indexes in two_sum.go (#1297)
21 апр 2024, 21:28
Не верифицирован
21 апр 2024, 21:28
54ced94
Код
Авторство
О чём код?
// File: two_sum.go // Created Time: 2022-11-25 // Author: reanon (793584285@qq.com) package chapter_searching /* 方法一:暴力枚举 */ func twoSumBruteForce(nums []int, target int) []int { size := len(nums) // 两层循环,时间复杂度为 O(n^2) for i := 0; i < size-1; i++ { for j := i + 1; j < size; j++ { if nums[i]+nums[j] == target { return []int{i, j} } } } return nil } /* 方法二:辅助哈希表 */ func twoSumHashTable(nums []int, target int) []int { // 辅助哈希表,空间复杂度为 O(n) hashTable := map[int]int{} // 单层循环,时间复杂度为 O(n) for idx, val := range nums { if preIdx, ok := hashTable[target-val]; ok { return []int{preIdx, idx} } hashTable[val] = idx } return nil }