无序数组返回两个元素和为给定值的下标。

tricks:无序、返回下标增序、返回的是原始数组的下标。

vector<int>*pa;
bool cmp(int x,int y){
return (*pa)[x]<(*pa)[y];
}
class Solution {
public:
vector<int> twoSum(vector<int> &a, int t) {
int n=a.size();
pa=&a;
int* id=new int[n],i=0,j=n-1;
for(i=0;i<n;++i){
id[i]=i;
}
sort(id,id+n,cmp);
for(i=0,j=n-1;i<j;){
if(a[id[i]]+a[id[j]]==t)break;
else if(a[id[i]]+a[id[j]]<t)
++i;
else --j;
}
vector<int>v;
if(id[i]<id[j]){
v.push_back(id[i]+1);v.push_back(1+id[j]);
}
else {v.push_back(1+id[j]);
v.push_back(id[i]+1);
}
delete[]id;
return v;
}
};

最新文章

  1. C# HttpWebRequest获取COOKIES
  2. iOS 链式编程探索(Masonry)
  3. lua定义一个简单的类
  4. 关于Dijkstra最短路径算法
  5. jsAddress
  6. iptables文件
  7. Itext导出PDF,word,图片案例
  8. JS 去除字符串中的空格
  9. SQL中的事物【转】
  10. sql server 2005+ 翻页
  11. 几个Uboot命令
  12. (转载)HTML标签&lt;br&gt;&lt;br/&gt;的区别在哪里?
  13. zend framework 1 连接oracle数据库的写法
  14. linux 服务器更主板后无法识别网卡处理过程
  15. hibernate的通配符比拼接sql到底好在哪?
  16. 多线程计算----pthread
  17. python-装饰器初解
  18. A1035. Password
  19. 外部javascript
  20. 黄聪:is_file和file_exists效率比较

热门文章

  1. docker:安装
  2. 初识Web框架
  3. Android开发——后台获取用户点击位置坐标(可获取用户支付宝密码)
  4. Struts2执行原理
  5. Selenium学习系列---- FirePath的安装和使用
  6. 一个监控oracle数据库某个字段值变化并发送邮件报警的脚本
  7. CodeForces - 592D Super M 题解
  8. 洛谷P1432 倒水问题
  9. 蓝桥杯 算法提高 金属采集 [ 树形dp 经典 ]
  10. vagrant的学习之Git学习