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

Python의 배열에서 크기가 k인 모든 세그먼트에 키가 있는지 확인

<시간/>

N개의 요소가 있는 배열 A가 있고 또 다른 값 p와 세그먼트 크기 k가 있다고 가정합니다. 키 p가 A의 크기 k인 모든 세그먼트에 있는지 확인해야 합니다.

따라서 입력이 A =[4, 6, 3, 5, 10, 4, 2, 8, 4, 12, 13, 4], p =4 및 k =3과 같으면 출력은 True

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • i :=0
  • i
  • j :=0
  • j
  • arr[j + i]가 p와 같으면
    • 중단
  • j :=j + 1
  • j가 k와 같으면
    • 거짓을 반환
  • i :=i + k
  • i가 n과 같으면
    • 참 반환
  • j :=i - k
  • j
  • arr[j]가 p와 같으면
    • 중단
  • j :=j + 1
  • j가 n과 같으면
    • 거짓을 반환
  • 참 반환
  • 예시

    이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

    def key_in_segment_k(arr, p, k, n) :
       i = 0
       while i < n :
          j = 0
          while j < k :
             if arr[j + i] == p :
                break
             j += 1
          if j == k :
             return False
          i = i + k
       if i == n :
          return True
       j = i - k
       while j < n :
          if arr[j] == p :
             break
          j += 1
       if j == n :
          return False
       return True
    arr = [4, 6, 3, 5, 10, 4, 2, 8, 4, 12, 13, 4]
    p, k = 4, 3
    n = len(arr)
    print(key_in_segment_k(arr, p, k, n))

    입력

    [4, 6, 3, 5, 10, 4, 2, 8, 4, 12, 13, 4]

    출력

    True