版权声明:站在巨人的肩膀上学习。 https://blog.csdn.net/zgcr654321/article/details/84075788
本地编译环境
系统:win7 64位;
C/C++环境:Clion2018,编译器cygwin。
Java环境:IDEA2018,编译器jdk-8u172。
Python环境:pycharm,编译器Anaconda3:Python3.6。
题目
输入一个数n(n大于等于1小于等于200), 然后输入n个数值各不相同的数,再输入一个值x, 输出这个值在这个数组中的下标(从0 开始,若不在数组中则输出-1) 。
输入格式:
测试数据有多组,输入n(n大于等于1小于等于200), 接着输入n个数,然后输入x 。
输出格式:
对于每组输入,请输出结果。
样例输入:
4
1234
3
样例输出:
2
C/C++解法
#include <stdio.h>
class Solution {
public:
int *initArray(int &n, int &x) {
scanf("%d", &n);
int *arr = new int[n];
for (int i = 0; i < n; i++)
scanf("%d", &arr[i]);
scanf("%d", &x);
return arr;
}
void searchValue(int *arr, int x, int n) {
for (int i = 0; i < n; i++) {
if (arr[i] == x) {
printf("%d", i);
return;
}
}
printf("%d", -1);
}
};
int main() {
int n, x;
Solution s;
int *N = s.initArray(n, x);
s.searchValue(N, x, n);
return 0;
}
Java解法
import java.util.Scanner;
public class Main {
public static class Solution {
int[] initArray(int n, Scanner sc) {
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
return arr;
}
int change(Scanner sc) {
int a = sc.nextInt();
return a;
}
void searchValue(int arr[], int x, int n) {
for (int i = 0; i < n; i++) {
if (arr[i] == x) {
System.out.format("%d ", i);
return;
}
}
System.out.format("%d", -1);
}
public static void main(String[] args) {
Solution s = new Solution();
Scanner sc = new Scanner(System.in);
int n = s.change(sc);
int N[] = s.initArray(n, sc);
int x = s.change(sc);
s.searchValue(N, x, n);
}
}
}
Python3解法
class Solution:
def initArray(self):
num = int(input())
input_oneline = input()
arr = (input_oneline.split())
for index in range(num):
arr[index] = int(arr[index])
value = int(input())
return num, value, arr
def searchValue(self, array, value):
for index, element in enumerate(array):
if value == element:
print("{}".format(index))
return
print("{}".format(-1))
s = Solution()
n, x, N = s.initArray()
s.searchValue(N, x)