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

Python에서 첫 번째 값과 마지막 값이 동일한 하위 목록을 찾는 프로그램

<시간/>

nums라는 숫자 목록이 있다고 가정하고 첫 번째 요소와 마지막 요소가 동일한 하위 목록의 수를 찾아야 합니다.

따라서 입력이 nums =[10, 15, 13, 10]과 같으면 첫 번째와 마지막 요소가 동일한 하위 목록이 [10], [15], [13], [ 10], [10, 15, 13, 10].

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

  • num_sublists :=숫자 크기

  • d :=빈 지도

  • 숫자의 각 n에 대해 수행

    • d[n] :=d[n] + 1

  • d에 있는 요소의 각 숫자 k와 해당 빈도 v에 대해 수행

    • v가 1과 같지 않으면

      • num_sublists :=num_sublists +((v-1)의 몫 *(v) /2)

  • num_sublists

    반환

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

from collections import defaultdictclass 솔루션:def solve(self, nums):num_sublists =len(nums) d =defaultdict(int) for n in nums:d[n] +=1 for k,v in d.items( ):v !=1:num_sublists +=(v-1)*(v)//2 return num_sublistsob =Solution()nums =[10, 15, 13, 10]print(ob.solve(nums)) 

입력

[10, 15, 13, 10]

출력

5