Python 에서 실 현 된 우선 등급 분배 사탕 문제 알고리즘 예시
1454 단어 Python사탕 을 분배 하 다알고리즘
질문:
n 명 이 있 으 면 모든 사람 이 일정한 우선 등급 이 있 고 등급 이 높 은 사람 은 주변 등급 보다 낮은 사람 이 얻 는 것 이 많 으 며 모든 사람 이 구분 하지 못 하지 않 을 것 이다.
생각:
양쪽 을 옮 겨 다 니 는 방법 을 사용 할 수 있 습 니 다.등급 이 높 은 사람 은 왼쪽 사람 보다 많 고,거꾸로 옮 겨 다 니 면 등급 이 높 은 사람 이 오른쪽 사람 보다 많다 는 것 을 보증 할 수 있 습 니 다.
다음은 구체 적 인 실현 이다.
#!usr/bin/env python
#encoding:utf-8
'''''
__AUthor__:
:
'''
def split_candy(rank_list):
'''''
'''
length=len(rank_list)
candy_list=[1]*length
for i in range(length-1):
if rank_list[i]<rank_list[i+1]:
candy_list[i+1]=candy_list[i]+1
for i in range(length-1,0,-1):
if rank_list[i-1]>rank_list[i] and candy_list[i-1]<=candy_list[i]:
candy_list[i-1]+=candy_list[i]
print sum(candy_list)
print ' :', rank_list
print ' :', candy_list
if __name__ == '__main__':
print " :"
rank_list=[2,3,4,8,1,5,6]
split_candy(rank_list)
결 과 는 다음 과 같다.Python 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.
본 논문 에서 말 한 것 이 여러분 의 Python 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.