题目描述:输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
输入:
每个测试案例包括两行:
第一行包含一个整数n和k,n表示数组中的元素个数,k表示两数之和。其中1
第二行包含n个整数,每个数组均为int类型。
输出:对应每个测试案例,输出两个数,小的先输出。如果找不到,则输出“-1 -1”...
分类:
其他好文 时间:
2014-11-07 23:33:44
阅读次数:
425
//用过map,超出内存的限制;用过静态数组,浪费空间不说,总是runtime error;还是用动态数组啊,左右夹逼,简洁明快
题目描述:
输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
输入:
每个测试案例包括两行:
第一行包含一个整数n和k,n表示数组中的元素个数,k表示两数之和。其中1
第二行包...
分类:
其他好文 时间:
2014-09-16 09:17:20
阅读次数:
216
题目描述:输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。
输入:
每个测试案例包括两行:
第一行包含一个整数n和k,n表示数组中的元素个数,k表示两数之和。其中1
第二行包含n个整数,每个数组均为int类型。
输出:对应每个测试案例,输出两个数,小的先输出。如果找不到,则输出“-1 -1”
...
分类:
其他好文 时间:
2014-08-14 14:06:38
阅读次数:
185
和为s的两个数字 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 输入一个递增排序的数组和一个数字s, 在数组中查找两个数, 使得它们的和正好是s.如果有多对数字的和等于s, 输出任意一对即可.排序数组, 则可以从两端开始进行查找, 当和大于时, 则减少前端, 当和小于时, 则递增尾端.代码:/*
* main.cpp
*
* Creat...
分类:
其他好文 时间:
2014-07-12 21:15:56
阅读次数:
206
题目:输入一个递增的排序的数组和一个数字s,在数组中查找两个数,使得它们的和为s。如果有多对满足条件的则输出任意一对即可
方案一:枚举两个数求和判断,时间复杂度O(n^2),显然效率太低
方案二:枚举第一个数,二分第二个数,时间复杂度O(nlogn),效率高了很多
方案三:设置两个指针p1,p2初始化指向数组的第一个数和最后一个数(即最小值和最大值),判断两个指针指向的两个数sum和...
分类:
其他好文 时间:
2014-05-25 10:03:37
阅读次数:
186
输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,输出任意一对即可。菜鸟的写法是顺序扫描,时间复杂度是O(n2)。下面给出一种大牛的写法,时间复杂度只需O(n)。
分类:
其他好文 时间:
2014-05-20 08:19:22
阅读次数:
285