안녕하세요,
고유한 값을 저장하고, 값을 삽입하고, 전체 값 수를 찾고, 값을 삭제할 수 있는 데이터 구조를 찾고 계십니까? 이에 대한 완벽한 선택은 세트입니다. 많은 프로그래밍 언어에는 내장된 Set 데이터 구조가 포함되어 있으며 JavaScript도 예외는 아닙니다. 세트의 작동 방식에 대해 더 자세히 살펴보겠습니다.
설정이란 무엇입니까?
세트는 기본 값이든 객체 참조이든 모든 유형의 고유한 값을 저장할 수 있는 데이터 구조입니다. 이 세트는 O(1) 시간 복잡도로 삽입, 삭제, 업데이트 및 크기 조정 작업을 허용합니다. 세트를 더 빠르고 효율적으로 만듭니다.
세트는 빠른 액세스 시간을 제공하도록 설계되었습니다. 일반적으로 각 항목을 하나씩 확인하는 것보다 항목을 더 빠르게 검색하는 방식으로 구현됩니다. 일반적인 구현은 해시 테이블(O(1) 조회) 또는 검색 트리(O(log(N)) 조회)일 수 있습니다.
핵심 사항
기본 방법
예
// 1. Create a new Set and use the .add() method to add elements const mySet = new Set(); mySet.add(10); mySet.add(20); mySet.add(30); console.log(mySet); // Output: Set { 10, 20, 30 } // 2. Check if the Set has a specific element using .has() method console.log(mySet.has(20)); // Output: true console.log(mySet.has(40)); // Output: false // 3. Delete an element from the Set using .delete() method mySet.delete(20); console.log(mySet); // Output: Set { 10, 30 } // 4. Iterate over the Set using .keys() method // In Sets, .keys() and .values() do the same thing for (const key of mySet.keys()) { console.log(key); } // Output: // 10 // 30 // 5. Get the size of the Set using .size property console.log(mySet.size); // Output: 2
리트코드 문제가 있는 설정의 예:
3. 반복되는 문자가 없는 가장 긴 부분 문자열
문자열 s가 주어졌을 때, 반복되는 문자가 없는 가장 긴 부분 문자열의 길이를 찾습니다.
해결책
/** * @param {string} s * @return {number} */ var lengthOfLongestSubstring = function(s) { let set = new Set(); let ans = 0; let s_index = 0; for (let i = 0; i설명:
lengthOfLongestSubstring 함수는 Set과 함께 슬라이딩 윈도우 기술을 사용하여 문자 반복 없이 가장 긴 부분 문자열을 찾습니다:
그렇습니다. 의심스러운 점이나 제안 사항 또는 기타 사항이 있으면 언제든지 의견을 추가해 주세요.
출처 :
MDN(설정)
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3