博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode167
阅读量:6789 次
发布时间:2019-06-26

本文共 1239 字,大约阅读时间需要 4 分钟。

public class Solution {    public int[] TwoSum(int[] numbers, int target) {        Dictionary
dic = new Dictionary
(); int count = numbers.Count(); List
> list = new List
>(); for (int i = 0; i < count; i++) { if (!dic.ContainsKey(numbers[i])) { dic.Add(numbers[i], i); list.Add(new KeyValuePair
(numbers[i], i)); } } int[] ary = new int[2]; for (int i = 0; i < list.Count; i++) { for (int j = i; j < list.Count; j++) { var d1 = list[i]; var d2 = list[j]; if (d1.Key + d1.Key == target && d2.Value - d1.Value > 1) { ary[0] = d1.Value + 1; ary[1] = d1.Value + 2; return ary; } else if (i != j && d1.Key + d2.Key == target) { ary[0] = d1.Value + 1; ary[1] = d2.Value + 1; return ary; } } } return ary; }}

补充一个“双指针”思想的解决方案,使用python实现:

1 class Solution: 2     def twoSum(self, numbers: 'List[int]', target: 'int') -> 'List[int]': 3         i=0 4         j=len(numbers)-1 5         while numbers[i] + numbers[j] != target: 6             if numbers[i] + numbers[j]>target: 7                 j-=1 8             else: 9                 i+=110 11         return [i+1,j+1]

 

转载于:https://www.cnblogs.com/asenyang/p/6732339.html

你可能感兴趣的文章
Delphi7到Delphi XE2的升级历程
查看>>
delphi版本对应
查看>>
《IT人生需要指引》读后感(学生作业分享)
查看>>
老男孩linux运维培训中级班开课前讲稿
查看>>
【创业感悟】企业生存法则
查看>>
【实施】执行力4招
查看>>
使用jmeter进行dubbo协议的测试方法
查看>>
在Ubuntu上部署开源博客系统Blog_mini
查看>>
httpwatch详解
查看>>
从IPV4到IPV6之手工隧道
查看>>
PHP Flash头像上传的实现方法
查看>>
esxi 5.0 的pxe安装
查看>>
zabbix专题:第八章 宏:MACRO
查看>>
C++的类的初学习
查看>>
Hyper-V 2016 系列教程10 快照功能 检查点 和原还虚拟机
查看>>
RHCE 学习笔记(18) 计划任务 at和 crontab
查看>>
Redis各个数据类型的使用场景
查看>>
python基础之判断用户登录
查看>>
国内研制最快SSD?
查看>>
AIX5.3 rootvg备份与恢复
查看>>