두 개의 목록이 제공됩니다. 값이 두 번째 목록의 요소와 일치하는 첫 번째 목록의 요소 인덱스를 찾아야 합니다. 색인 포함 우리는 단순히 두 번째 목록에서 요소의 값을 가져오고 첫 번째 목록에서 해당 인덱스를 추출하도록 다음을 설계합니다. 예시 listA = ['Mon','Tue', 'Wed', 'Thu', 'Fri'] listB = ['Tue', 'Fri'] # Given lists print("The given list
번호가 있다고 가정합니다. 숫자는 0에서 231 – 1 사이의 모든 것이 될 수 있습니다. 숫자를 단어로 변환해야 합니다. 따라서 숫자가 512와 같으면 결과는 512가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − less_than_20과 같은 목록을 정의하십시오. 이것은 1에서 19까지의 모든 단어를 포함합니다. 10, 20, 30 등을 최대 90까지 저장할 수 있는 10과 같은 또 다른 배열 수천, 백만 및 10억을 저장할 수 있는 또 다른 어레이 helper()라는 하나의 함수를 정의합니
IPv4와 IPv6은 모두 네트워크 경계를 넘어 데이터그램을 릴레이하기 위한 인터넷 프로토콜 제품군의 주요 통신 프로토콜로 사용되는 두 가지 주요 인터넷 프로토콜이라는 것을 알고 있습니다. 라우팅 기능은 인터넷 작동을 가능하게 하며 본질적으로 인터넷을 구축합니다. 따라서 기능과 기능을 기반으로 IPv4 및 IPv6 프로토콜을 구분할 수 있습니다. 다음은 IPv4와 IPv6 프로토콜의 중요한 차이점입니다. Sr. 아니요. 키 IPv4 프로토콜 IPv6 프로토콜 1 주소 구성 IPv4 프로토콜은 10진수 형식으로 표시되는 32비
배열 num과 다른 값 val이 있다고 가정하면 해당 값의 모든 인스턴스를 제자리에서 제거하고 새 길이를 찾아야 합니다. 따라서 입력이 [0,1,5,5,3,0,4,5] 5와 같으면 출력은 5가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 개수 :=0 숫자의 각 인덱스 i에 대해 nums[i]가 val과 같지 않으면 - nums[count] :=nums[i] 개수 :=개수 + 1 반환 횟수 예시 더 나은 이해를 위해 다음 구현을 살펴보겠습니다. − class Soluti
평면에 쌍으로 구별되는 n개의 점이 있다고 가정합니다. 이제 부메랑은 i와 j 사이의 거리가 i와 k 사이의 거리와 같도록 (i, j, k)와 같은 점의 튜플입니다. 부메랑의 수를 찾아야 합니다. 따라서 입력이 [[0,0],[1,0],[2,0]]과 같으면 두 개의 부메랑이 [[1,0],[0,0]이므로 출력은 2가 됩니다. ,[2,0]] 및 [[1,0],[2,0],[0,0]]. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − counter_of_boomerangs :=0 포인트 배열의 각 point_1에 대해
모든 집을 데우기 위해 고정된 따뜻한 반경을 가진 표준 히터를 설계해야 한다고 가정합니다. 이제 우리는 수평선에 주택과 히터의 위치를 주었으므로 모든 주택이 히터로 덮일 수 있도록 히터의 최소 반경을 찾아야 합니다. 그래서 주택과 히터를 별도로 제공할 예정이며, 예상 출력은 히터의 최소 반경 기준이 될 것입니다. 따라서 입력이 [1,2,3,4],[1,4]와 같으면 두 히터가 위치 1과 4에 배치되었으므로 출력은 1이 됩니다. 반경 1을 사용해야 하며 모든 집을 따뜻하게 할 수 있습니다. 이 문제를 해결하기 위해 다음 단계를
문자열과 정수 k가 있다고 가정하면 문자열의 시작 부분부터 계산하여 2k 문자마다 처음 k 문자를 반대로 해야 합니다. 남은 문자가 충분하지 않으면 모두 반대로 하십시오. 2k 문자 미만이지만 k 문자보다 크거나 같은 경우 처음 k 문자를 반대로 하고 나머지는 원본으로 둡니다. 따라서 입력이 abcdefgh이고 k =3이면 출력은 cbadefhg가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. l :=s의 문자 목록 만들기 나는 :=k-1 동안 나는
이진 트리가 있다고 가정해 봅시다. 문자열을 괄호와 정수로 구성해야 하며, 사전 순서 순회 방식을 사용하는 이진 트리의 정수로 구성되어야 합니다. null 노드는 빈 괄호 쌍 ()으로 표시됩니다. 그리고 문자열과 원래 바이너리 트리 간의 일대일 매핑 관계에 영향을 주지 않는 모든 빈 괄호 쌍을 생략해야 합니다. 따라서 입력이 다음과 같으면 그러면 출력은 5(6()(8))(7)가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ans :=빈 문자열 pot() 함수를 정의합니다. 노드가 필요합니다. s 가 nul
야구 경기 포인트 레코더가 있다고 가정합니다. 문자열 목록이 있습니다. 각 문자열은 다음 4가지 유형 중 하나일 수 있습니다. - 정수(한 라운드의 점수) - 이번 라운드에서 얻은 점수를 나타냅니다. +(한 라운드의 점수) - 이번 라운드에서 얻은 점수가 마지막 두 개의 유효한 라운드 점수의 합임을 나타냅니다. D(한 라운드의 점수) - 이번 라운드에서 얻은 점수가 마지막 유효한 라운드의 점수를 두 배로 늘린 데이터임을 나타냅니다. C(라운드 점수가 아닌 작업) - 마지막으로 얻은 유효한 라운드의 점수가 유효하지 않아 제거해야 함
직원 정보의 데이터 구조가 있고 직원의 고유 ID, 중요도 값 및 직속 부하의 ID가 있다고 가정합니다. 예를 들어 직원 1은 직원 2의 리더이고 직원 2는 직원 3의 리더입니다. 그리고 중요도 값이 각각 15, 10 및 5라고 가정합니다. 그러면 직원 1은 [1, 15, [2]]와 같은 데이터 구조를 갖고 직원 2는 [2, 10, [3]], 직원 3은 [3, 5, []]와 같은 데이터 구조를 갖습니다. 따라서 회사의 직원 정보와 직원 ID가 있는 경우 이 직원과 모든 부하 직원의 총 중요도 값을 찾아야 합니다. 따라서 입력이
스트림에서 k번째로 큰 요소를 찾는 클래스를 설계한다고 가정합니다. k번째 고유한 요소가 아니라 정렬된 순서에서 k번째로 큰 요소입니다. KthLargest 클래스에는 스트림의 초기 요소를 포함하는 정수 k와 배열 nums를 허용하는 생성자가 있습니다. KthLargest.add 메서드를 호출할 때마다 스트림에서 k번째로 큰 요소를 나타내는 요소가 반환됩니다. 따라서 입력이 k =3, 초기 요소 =[4,5,8,2]와 같으면 add(3), add(5), add(10), add(9), add(4)를 호출합니다. . , 출력은 각각
내장된 해시 테이블 라이브러리를 사용하지 않고 HashSet 데이터 구조를 설계한다고 가정합니다. −와 같은 다양한 기능이 있습니다. add(x) - HashSet에 값 x를 삽입합니다. contains(x) - 값 x가 HashSet에 있는지 여부를 확인합니다. remove(x) - HashSet에서 x를 제거합니다. HashSet에 값이 없을 경우 아무 것도 하지 마십시오. 따라서 테스트하려면 해시 세트를 초기화한 다음 add(1), add(3), contains(1), contains(2), add(2), contains
내장된 해시 테이블 라이브러리를 사용하지 않고 HashMap을 설계한다고 가정합니다. 다음과 같이 다른 기능이 있습니다 - put(key, value) - 키와 관련된 값을 HashMap에 삽입합니다. 값이 이미 HashMap에 있으면 값을 업데이트합니다. get(key) - 지정된 키가 매핑된 값을 반환합니다. 그렇지 않으면 이 맵에 키에 대한 매핑이 없는 경우 -1이 반환됩니다. remove(key) - 이 맵에 키에 대한 매핑이 포함되어 있으면 값 키에 대한 매핑을 제거합니다. 따라서 입력이 초기화 후와 같으면 다음과 같
두 개의 특수 문자가 있다고 가정합니다. 첫 번째 문자는 하나의 비트 0으로 나타낼 수 있습니다. 두 번째 문자는 (10 또는 11)과 같이 두 비트로 나타낼 수 있습니다. 따라서 여러 비트로 표시되는 문자열이 있는 경우. 마지막 문자가 1비트 문자여야 하는지 여부를 확인해야 합니다. 주어진 문자열은 항상 0으로 끝납니다. 따라서 입력이 [1,0,0]과 같으면 출력은 True가 됩니다. 디코딩하는 유일한 방법은 2비트 문자(10)와 1비트 문자(0)뿐입니다. 따라서 마지막 문자는 1비트 문자입니다. 이 문제를 해결하기 위해 다음
영어 사전을 나타내는 단어 목록이 있다고 가정하면 주어진 단어 목록에서 단어의 다른 단어로 한 번에 한 문자씩 만들 수 있는 가장 긴 단어를 찾아야 합니다. 가능한 답변이 두 개 이상인 경우 사전순이 가장 작은 가장 긴 단어를 반환합니다. 응답이 없으면 빈 문자열을 반환합니다. 따라서 입력이 [h,he,hel,hell, hello]와 같으면 출력은 hello가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − trie :=새 지도 insert() 함수를 정의합니다. 말이 필요합니다 지금 :=시도 단어의 각 c에 대해
정렬된 문자의 목록이 있다고 가정합니다. 여기에는 소문자만 포함되어 있습니다. 이제 대상 문자 t가 있으므로 목록에서 주어진 대상보다 큰 가장 작은 요소를 찾아야 합니다. 그리고 편지도 감싸고 있습니다. 따라서 대상이 t =z이고 문자 =[a, b]이면 답은 a입니다. 따라서 입력이 [c, f, j], t =a와 같으면 출력은 c가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − l :=0 r :=글자 크기 - 1 l <=r인 동안, do mid :=(l + r) / 2를 정수로 대상이면 r :=중간 -1
계단이 있다고 가정하고 여기에서 i 번째 단계는 음이 아닌 비용 가치 비용[i]이 할당됩니다. 우리가 비용을 지불할 때, 우리는 한두 단계를 올라갈 수 있습니다. 우리는 바닥의 최상단에 도달하기 위한 최소 비용을 찾아야 하며, 인덱스 0의 단계부터 시작하거나 인덱스 1의 단계부터 시작할 수도 있습니다. 따라서 입력이 비용 =[12,17,20]과 같으면 출력은 17이 됩니다. 해당 비용을 지불하고 맨 위로 이동해야 하므로 1단계부터 시작하는 가장 저렴한 위치입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − dp :=비
nums라는 정수 배열이 있다고 가정하면 이제 항상 정확히 하나의 가장 큰 요소가 있습니다. 배열의 가장 큰 요소가 배열의 다른 모든 숫자의 최소 두 배인지 확인해야 합니다. 그렇다면 가장 큰 요소의 인덱스를 찾아야 하고, 그렇지 않으면 -1을 반환합니다. 따라서 입력이 [3,6,1,0]과 같으면 출력은 1이 됩니다. 6이 가장 큰 숫자이고 배열 x의 다른 모든 숫자에 대해 6은 x의 두 배 이상이기 때문입니다. . 6의 인덱스가 1이므로 출력도 1입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 최대 :=최대 숫자
사전 단어가 있고 주어진 사전 단어에서 최소 길이 단어를 찾아야 한다고 가정합니다. 이 단어에는 licensePlate 문자열의 모든 문자가 있습니다. 이제 그런 단어가 주어진 문자열 licensePlate를 완성한다고 합니다. 여기서는 대소문자를 무시합니다. 그리고 답은 반드시 존재합니다. 답변이 둘 이상인 경우 배열에서 가장 먼저 발생한 답변을 반환합니다. 번호판에는 동일한 문자가 여러 번 나타날 수 있습니다. 따라서 PP의 licensePlate에서 pile이라는 단어가 licensePlate를 완성하는 것이 아니라 topp
두 개의 정수 L과 R이 있다고 가정하고 [L, R](포함) 범위에서 소수의 집합 비트가 있는 이진 형식의 숫자 개수를 찾아야 합니다. 따라서 입력이 L =6 및 R =10인 경우 출력은 4가 됩니다. 4개의 숫자 6(110),7(111),9(1001),10(1010)이 있고 모두 소수를 갖습니다. 설정 비트 수. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 카운트:=0 L~R 범위의 j에 대해 수행 j의 설정 비트 수가 [2,3,5,7,11,13,17,19]이면 카운트 :=카운트 + 1 반환 횟수 이해를 돕기