返回总目录
167. 两数之和 II - 输入有序数组
题目描述
解题思路
- 定义双指针,分别在头部与尾部
- 判断两个的和是否与
targent
相等,相等级返回,比 sum 大则尾指针前移,反之头指针后移
示例代码
func twoSum(numbers []int, target int) []int {
l, r := 0, len(numbers)-1
for l < r {
sum := numbers[l] + numbers[r]
if sum == target {
return []int{l + 1, r + 1}
}
if sum < target {
l++
} else {
r--
}
}
return []int{-1, -1}
}
运行结果
执行用时 :4 ms, 在所有 golang 提交中击败了 97.30% 的用户
内存消耗 :3 MB, 在所有 golang 提交中击败了 68.38% 的用户
168. Excel 表列名称
题目描述:
解题思路
- 可以看做一个 10 进制转 26 进制问题,进制转换原理可查看-> 理解进制转换的原理
复杂度分析
- 时间复杂度:O(1)
- 空间复杂度:O(1)
示例代码
func convertToTitle(n int) string{
var str string
for n > 0 {
n -- // 减去一个,因为A是对应的是1,而不是0
str = string('A' + int32(n%26)) + str
n/=26
}
return str
}
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于