Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 k와 같은 차이를 가진 모든 고유한 쌍 찾기

<시간/>

이 기사에서 우리는 k와 같은 정확한 차이를 갖는 숫자 쌍의 수를 계산하는 방법을 볼 것입니다. 주어진 숫자는 목록 형식이며 우리는 프로그램에 k 값을 제공합니다.

for 루프 사용

이 접근 방식에서 우리는 두 개의 for 루프를 디자인합니다. 외부 for 루프는 주어진 목록의 각 요소 방문을 추적합니다. 내부 for 루프는 나머지 각 요소를 외부 루프의 요소와 계속 비교하고 필요한 차이와 일치하면 count 변수의 값을 늘립니다.

listA = [5, 3, 7, 2, 9]

k = 2
count = 0

# Elements of the list
for i in range(0, len(listA)):

# Make pairs
   for j in range(i + 1, len(listA)):

      if listA[i] - listA[j] == k or listA[j] - listA[i] == k:
         count += 1

print("Required Pairs: ",count)
인 경우

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

Required Pairs: 3

While 루프 사용

다른 접근 방식에서는 if else 절과 함께 while 루프 로그인을 사용합니다. 여기서 우리는 두 쌍의 차이가 필요한 차이와 일치하는지 여부에 따라 현재 및 다음 인덱스를 계속 증가시킵니다.

listA = [5, 3, 7, 2, 9]

k = 2
count = 0

listA.sort()

next_index = 0
current_index = 0

while current_index < len(listA):
   if listA[current_index] - listA[next_index] == k:
      count += 1
      next_index += 1
      current_index += 1

   elif listA[current_index] - listA[next_index] > k:
      next_index += 1
   else:
      current_index += 1

print("Required Pairs: ",count)

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

Required Pairs: 3