정렬된 배열의 유효한 요소
문제: 문 정렬된 배열에 있는 고유한 요소의 수를 세는 함수를 작성하십시오.
난이도: 쉬움
테스트 케이스
연산
파이썬 세트 솔루션
사전 솔루션
최고의 솔루션
시간 및 공간 복잡성
공간 복잡성
암호
class ValidElements(object):
def validElements(self, arr):
if not arr:
return 0
return len(set(arr))
def validElements2(self, arr):
if not arr:
return 0
seen = {}
for entry in arr:
if entry not in seen:
seen[entry] = 1
return len(seen)
def validElements3(self, arr):
if not arr:
return 0
index = 1
for i in range(1, len(arr)):
if arr[index - 1] != arr[i]:
arr[index] = arr[i]
index += 1
print(arr)
return index
단위 테스트
import unittest
from validElements import ValidElements
class TestValidElements(unittest.TestCase):
def testValidElements(self, func):
self.assertEqual(func([2, 2, 3, 3, 4, 5]), 4)
self.assertEqual(func([1, 2, 3, 4, 4, 5, 5, 5]), 5)
self.assertEqual(func([1, 1, 1, 2, 5, 5, 5]), 3)
print("All test cases passed")
def main():
test = TestValidElements()
elements = ValidElements()
test.testValidElements(elements.validElements)
test.testValidElements(elements.validElements2)
test.testValidElements(elements.validElements3)
if __name__ == "__main__":
main()
Original article
Github solution
행복한 코딩! 😃
Reference
이 문제에 관하여(정렬된 배열의 유효한 요소), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/codewithml/valid-elements-in-a-sorted-array-12e5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)