首页   注册   登录
 Raisu 最近的时间轴更新
ONLINE

Raisu

V2EX 第 158103 号会员,加入于 2016-02-04 18:45:11 +08:00
今日活跃度排名 2925
Raisu 最近回复了
1 小时 24 分钟前
回复了 WANG592154873 创建的主题 问与答 双非本硕想做程序员,不知道有什么好的建议
你都说没时间学,那能怎么办。。。
试了一下,用 set 过滤了一下也能通过。。。。不过有点取巧就是了。代码怎么带格式?
l = len(numbers)
a = target // 2
if a in numbers:
index = numbers.index(a)
if a in numbers[index + 1:]:
return [index+1, index + 2]
n = list(set(numbers))
for i in range(len(n)):
ans = target - n[i]
if ans in n:
index2 = numbers.index(ans)
index1 = numbers.index(n[i])
return sorted([index1 + 1, index2 + 1])
我也是新手啊。。。自学转开发才半年,
dic = {}
for i in range(len(numbers)):

if numbers[i] in dic:
if target - numbers[i] == numbers[i]:
return [dic[numbers[i]].pop(), i + 1]
else:
dic[numbers[i]] = [i + 1]
for k in dic:
if target - k in dic:
if dic[k][0] < dic[target - k][0]:
return [dic[k][0], dic[target - k][0]]
else:
return [dic[target - k][0], dic[k][0]]


讨论组里面用字典的解法,可以通过,原因是字典的检索速度会比较快一点。。。
半年经验的瑟瑟发抖。。。
l , r = 0, len(numbers) -1
while numbers[l] + numbers[r] != target:
if numbers[l] + numbers[r] > target:
r -= 1;
else:
l += 1
return [l+1, r+1]
3 天前
回复了 idcspy 创建的主题 Python 求助帖, PHP 还是 Python
@Socket 不重要,完
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3009 人在线   最高记录 3762   ·  
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.1 · 11ms · UTC 01:18 · PVG 09:18 · LAX 18:18 · JFK 21:18
♥ Do have faith in what you're doing.
沪ICP备16043287号-1