1
: 허용 한계 내에서 숫자의 가장 큰 문자열을 찾기 나는 다음과 같은 입력 한
과제가
- 허용 오차 레벨 T
- 번호 N 수
- N 번호입니다 그 N 개의 숫자 내에서 가장 긴 기간을 찾아서 허용차 수준 내에있게하십시오. 보다 정확하게는 하위 문자열
l
과r
의 왼쪽과 오른쪽 바운드와 두 경계 사이의 두 개의 별개 요소a1
과a2
이 주어지면 그 문자는|a1 - a1| <= T
이어야합니다. 어떻게 효율적으로이 작업을 수행 할 수 있습니까? 내 접근 방식은 다음과 같습니다.def getLength(T, N, numbers): max_length = 1 for i in range(0, N-1): start = numbers[i] numlist = [start] for j in range(i+1, N): end = numbers[j] numlist.append(end) if (max(numlist) - min(numlist)) > T: break if (j-i+1) > max_length: max_length = j-i+1 return max_length
편집 : 명확하게 말하십시오. 코드는 예상대로 작동합니다. 그러나, 그것은 충분히 효율적이지 않습니다. 더 효율적으로하고 싶습니다.
명확하지 않은 질문입니다 - 어떤 코드에 문제가? 질문을 편집하고 필요한 정보를 입력하십시오. – martineau
@martineau 네, 조금 오도 할 수도 있습니다. 코드는 예상대로 작동합니다. 그것은 단지 충분히 효율적이지 않습니다. 좀 더 효율적으로 할 수있는 방법을 찾아야합니다. –
좀 나아 졌어요.하지만 효율성을 측정하는 방법과 당신이 가지고있는 구절이 얼마나 충분한가요? – martineau