Skip to content

2 查找元素 3题

sy62: 查找元素 简单

https://sunnywhy.com/sfbj/3/2/62

给定n个整数的序列A1A2...An,然后给出一个整数x,求x在序列中的下标。

输入描述

第一行为一个正整数n(1n20);

第二行为用空格隔开的n个整数(1Ai100),每个整数确保唯一;

第三行为一个正整数x(1x100)。

输出描述

输出在序列中的下标。如果序列中不存在,那么输出NO。

样例1

输入

5
6 8 3 7 5
8

输出

2

样例2

输入

5
6 8 3 7 5
4

输出

NO
python
n = int(input())
a = list(map(int, input().split()))
x = int(input())
for pos, i in enumerate(a):
    if i == x:
        print(pos + 1)
        break
else:
    print('NO')

sy63: 统计元素个数 简单

https://sunnywhy.com/sfbj/3/2/63

给定n个整数的序列A1A2...An,然后给出一个整数x,求x在序列中出现的次数。

输入描述

第一行为一个正整数n(1n100);

第二行为用空格隔开的n个整数(1Ai100);

第三行为一个正整数x(1x100)。

输出描述

输出x在序列中出现的次数。

样例1

输入

5
6 8 3 6 5
6

输出

2

样例2

输入

5
6 8 3 7 5
4

输出

0
python
n = int(input())
a = list(map(int, input().split()))
x = int(input())
freq = [0]*101
for i in a:
    freq[i] += 1
print(freq[x])

sy64: 寻找元素对 简单

https://sunnywhy.com/sfbj/3/2/64

给定n个整数的序列A1A2...An和一个正整数K,在序列中寻找两个不同的数AiAj,使得Ai+Aj=K。问存在多少对满足条件的不同的(i,j)。

输入描述

第一行为一个正整数n(1n1000);

第二行为用空格隔开的n个整数(1Ai1000),每个整数确保唯一;

第三行为一个正整数K(1K2000)。

输出描述

输出满足条件的不同的的对数。和视作同一组。

样例1

输入

5
6 8 3 7 5
13

输出

2
python
n = int(input())
a = list(map(int, input().split()))
a_set = set(a)
k = int(input())
cnt = 0
ans = set()
for i in a:
    j = k - i
    if i == j:
        continue
    if j in a_set and (i,j) not in ans and (j,i) not in ans:
        ans.add((i,j))
        ans.add((j,i))
        cnt += 1
print(cnt)