计蒜客 寻找插入位置

来源:互联网 发布:模拟战争软件 编辑:程序博客网 时间:2024/04/30 02:35

给定一个已经升序排好序的数组,以及一个数 targettarget,如果 targettarget 在数组中,返回它在数组中的位置。

否则,返回 targettarget 插入数组后它应该在的位置。

假设数组中没有重复的数。以下是简单的示例:

[1,3,5,6], 5 → 2

[1,3,5,6], 2 → 1

[1,3,5,6], 7 → 4

[1,3,5,6], 0 → 0

输入格式

第一行输入一个整数 nn

第二行输入 nn 个整数,表示数组A[n]

第三行输入 targettarget

输出格式

输出一行,为要求返回的结果。

样例输入

31 3 52

样例输出

1

这个题其实就是谈论三种情况,等于或者大于或者为0
代码如下:
#include<iostream>#include<cstdio>using namespace std;int main(){int flag;int n;while (cin >> n){int *A = new int[n];for (int i = 0; i < n; i++){cin >> A[i];}int target;cin >> target;for (int i = 0; i < n; i++){if (target <= A[i]){flag = i;break;}else if (target>A[i]){flag = i + 1;}else flag = 0;}cout << flag << endl;free(A);}return 0;}




0 0
原创粉丝点击