输入一组按降序排列的整数数组,再输入一个整数(sum),返回数组中和为sum的两个元素
来源:互联网 发布:caffe softmax 源码 编辑:程序博客网 时间:2024/06/14 07:49
注:这道题是多益网络2014校招的二笔试题。
分析:由于该序列是降序排列的,假设随意取出数组中的两个数,如果其和等于给定值,那么它们就是我们要找的两个数;如果小于给定值,则对应的下标越小的数,其值越大,对应往前找;而如果大于给定值,对应下标越大的值,其值越小,对应向后找。及首先找到首尾两个数,再逐渐让所有的元素向中间靠拢。
注:该文章本人还在网易博客上边发表过!
代码如下:
#include<iostream>using namespace std;int main(int argc, char* argv[]){int n; cout<<"请输入数组长度"<<endl;scanf("%d", &n);int* num = new int[n];for(int tmp1=0;tmp1<n;tmp1++){scanf("%d", &(num[tmp1]));}cout<<"请输入sum的值"<<endl; int sum; scanf("%d", &sum); int i = 0; int j = n - 1; int tmp; bool solve = false; while(i < j){ tmp = num[i] + num[j]; if(tmp == sum){ solve = true; cout << num[i] << ' ' << num[j] << endl; break; } else if(tmp < sum){ i ++; } else{ j --; } } if(!solve){ cout << "there is not." << endl; } system("pause"); return 0;}
0 0
- 输入一组按降序排列的整数数组,再输入一个整数(sum),返回数组中和为sum的两个元素
- 给定一个整数数组,返回数组中两个元素的和为target的索引
- 输出递增数组中和为sum的两个数
- 一个N个整数的无序数组,给你一个数sum,求出数组中是否存在两个数,使他们的和为sum
- 一个N个整数的无序数组,给你一个数sum,求出数组中是否存在两个数,使他们的和为sum
- 输入一个非负整数,返回组成它的数字之和sum
- 输入一个升序数组和一个整数,在数组里面找两个数使它们相加的和为这个整数
- 输入一个整数数组,返回所有元素两两之差绝对值最小的值,O(n)算法
- js实现输入一个数组,实现数组元素能够组成的最大整数
- js实现输入一个数组,实现数组元素能够组成的最大整数
- 定义一个一维数组,其元素个数从键盘中输入,元素的值为[100,200]的随机整数。 (1)输出数组的每个数 (2)对数组的数进行升序排序,输出排序后的数组元素 (3)从键盘上输入一个整数,查找该整数是
- 输入整数,返回数组,并代替某些位置的数
- 题目:给一个排序好的整数数组A,请写一个函数,输入是数组A和一个整数x,返回数组A中值小于x的最大元素的索引值
- java每日一题:给定一个整数数组arr和整数target,返回两个索引值,使得这两个索引值对应的整数的和等于target。(arr中有且仅有一组)
- 数组中寻找和为sum的两个元素
- 输入整形数组,数组里有正数也有负数,数组中一个或连续的多个整数组成数组的子数组,求所有子数组中和的最大值 ,例如输入的数组为{1,-2,3,10,-4,7,2,-5}和最大的子数组为{3,10,
- 对一个5位数的任意整数,求出其降序数。例如,整数是82319,则其降序数是98321。算法提示:将整数的各位数分解到一维整型数组a中,再将a数组中的元素按降序排序,最后输出a数组元素值。
- C++输入一组数据,降序排列后,删除三个连续元素的中间值
- Hadoop命令
- android 下拉刷新上拉下载实现
- java 程序猿10个必备网站
- vmalloc size分析
- hadoop笔记3
- 输入一组按降序排列的整数数组,再输入一个整数(sum),返回数组中和为sum的两个元素
- H264VideoRTPSink类继承结构及相关的类
- xCode升级5.0后没有了gcc
- CSS中使用大于号[>]的含义
- 机器学习前沿热点——Deep Learning
- 如何做好职业生涯规划
- 轻松学Visual C++
- 压缩 MongoDB 的数据文件
- 数据分页的相关操作