이진 트리가 있다고 가정하고 나뭇잎을 제외한 트리의 모든 노드에 대해 해당 값이 왼쪽 자식 값과 오른쪽 자식 값의 합과 같은지 확인해야 합니다. 따라서 입력이 다음과 같으면 그러면 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − dfs() 함수를 정의합니다. 이것은 뿌리를 내릴 것입니다 루트가 null이면 참을 반환 루트의 왼쪽이 null이고 루트의 오른쪽이 null이면 참을 반환 왼쪽 :=0 루트 왼쪽이 null이 아니면 left :=루트 왼
두 개의 트리가 있다고 가정하고 노드의 왼쪽 및 오른쪽 하위 트리를 여러 번 교체하여 첫 번째 트리를 두 번째 트리로 변환할 수 있는지 확인해야 합니다. 따라서 입력이 다음과 같으면 그러면 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − que1 :=처음에 root0인 큐 que2 :=처음에 root1이 있는 대기열 que1 및 que2가 비어 있지 않은 동안 수행 temp1 :=새 목록, temp2 :=새 목록 values1 :=새 목록, values2 :=새 목록
하나의 이진 트리가 있다고 가정합니다. 트리가 대칭 트리인지 여부를 확인해야 합니다. 나무를 거울상으로 찍을 때 나무가 같으면 대칭이라고 합니다. 이 두 나무에서 첫 번째 나무는 대칭이지만 두 번째 나무는 그렇지 않습니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. 다음 단계를 재귀적으로 호출합니다. 함수는 해결됩니다(루트, 루트) node1과 node2가 비어 있으면 true를 반환합니다. node1 또는 node2가 비어 있으면 false를 반환합니다. node1.val =node2.val 및
두 개의 값 시작과 끝이 있다고 가정하고 시작에서 끝으로 변환하는 데 필요한 최소 작업 수를 다음 작업을 사용하여 찾아야 합니다. 1 감소 2를 곱합니다. 따라서 입력이 start =2, end =7과 같으면 출력은 3이 됩니다. 2를 곱하여 4를 얻은 다음 2를 곱하여 8을 얻은 다음 1을 빼서 7을 얻을 수 있기 때문입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 답변 :=0 다음을 무한히 수행하십시오. 종료 <=시작이면 반환 + 시작 - 끝 그렇지 않으면 끝이 홀수
각각 다른 값이 다른 작업 유형을 나타내고 음이 아닌 정수 k가 있는 작업이라는 값 목록이 있다고 가정합니다. 각 작업은 완료하는 데 1분을 원하지만 동일한 유형의 두 작업을 수행하는 사이에 k분을 기다려야 합니다. 언제든지 작업을 수행하거나 기다릴 수 있습니다. 모든 작업을 완료하는 데 걸리는 최소 시간을 찾아야 합니다. 따라서 입력이 nums =[2, 2, 2, 3, 3, 2], k =1과 같으면 최적의 순서는 [2, 3, 2, 3, 2, 대기 중, 2]. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − c :=숫자
0이 빈 공간이고 1이 벽인 미로를 나타내는 2D 그리드가 있다고 가정합니다. grid[0, 0]에서 시작합니다. 그리드의 오른쪽 하단 모서리에 도달하는 데 필요한 최소 사각형 수를 찾아야 합니다. 도달할 수 없으면 -1을 반환합니다. 따라서 입력이 다음과 같으면 0 0 0 1 0 0 1 0 0 그러면 출력은 5가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − R :=그리드의 행 개수, C :=그리드의 열 개수 q :=[0, 0, 1] A[0, 0]이 1이면 새 목록 A[0, 0] :=1
아래와 같은 값이 거의 없는 2D 행렬이 있다고 가정합니다. - 0은 빈 셀을 나타냅니다. 1은 벽을 나타냅니다. 2는 사람을 나타냅니다. 여기에서 사람은 이 네 가지 방향(위, 아래, 왼쪽, 오른쪽) 중 하나를 걸을 수 있습니다. 우리는 각 사람이 걸어야 하는 총 이동 거리를 최소화하고 최종적으로 거리를 찾을 수 있도록 벽이 아닌 셀을 찾아야 합니다. 따라서 입력이 다음과 같으면 2 0 1 0 1 0 1 2 0 0 2 2 가장 좋은 만남 지점이 오른쪽 하단 모서리이므로 출력은 7이 됩니다. 이
일부 값을 포함하는 이진 트리가 있다고 가정하고 트리에 있는 모든 값의 합을 찾아야 합니다. 따라서 입력이 다음과 같으면 그러면 출력은 14가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − recurse() 함수를 정의합니다. 노드가 필요합니다. val :=노드의 값 노드의 왼쪽이 null이 아니면 val :=val + recurse(노드 왼쪽) 노드의 오른쪽이 null이 아니면 val :=val + recurse(노드 오른쪽) 반환 값 기본 방법에서 다음을
이진 트리와 R(오른쪽), L(왼쪽) 및 U(위쪽)로 구성된 문자열 이동 목록이 있다고 가정합니다. 루트에서 시작하여 이동에서 각 이동을 수행하여 트리를 순회해야 합니다. 여기서 R은 오른쪽 자식으로의 순회를 나타냅니다. L은 왼쪽 자식으로의 트래버스를 나타냅니다. U는 상위 항목으로의 트래버스를 나타냅니다. 따라서 입력이 다음과 같으면 [R,R,U,L]이면 출력은 3이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 과거 :=새 목록 동작의 각 동작에 대해 수행 과거의 끝에 루트 삽입 이
문자열 s가 있다고 가정하고 s의 왼쪽과 오른쪽을 잘라 회문을 얻을 수 있는 방법의 수를 찾아야 합니다. 따라서 입력이 s =momo와 같으면 출력은 6이 됩니다. [mom, omo, o, o, m, m, 오) 이 문제를 해결하기 위해 다음 단계를 따릅니다. − expand() 함수를 정의합니다. 이것은 i, j, s가 걸립니다 c :=0 =0 및 j
두 개의 이진 트리가 있다고 가정하고 구조와 값이 정확히 동일한지 여부를 확인해야 합니다. 쌍둥이 나무라고 할 수 있습니다. 따라서 입력이 다음과 같으면 그러면 출력은 첫 번째 쌍에 대해 True, 두 번째 쌍에 대해 false, 세 번째 쌍에 대해 두 번째 및 세 번째 항목이 다르고 구조가 각각 다르기 때문에 출력됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − solve() 메서드를 정의하면 두 개의 루트가 필요합니다. root0이 null이고 root1이 null이면 참을 반환 ro
nums라고 하는 숫자 목록과 다른 값 k가 있다고 가정하고 합이 k인 nums에서 두 개의 겹치지 않는 하위 목록을 찾아야 하고 길이의 합을 찾아야 합니다. 두 개 이상의 가능한 하위 목록이 있는 경우 두 개의 가장 작은 하위 목록 길이의 합을 찾아야 합니다. 답을 찾을 수 없으면 -1을 반환합니다. 따라서 입력이 nums =[7, 10, −2, −1, 4, 3] k =7과 같으면 [7] 및 [4, 3]과 같은 하위 목록을 선택할 때 출력은 3이 됩니다. . [10, −2, −1]이 더 길기 때문에 선택하지 않았습니다. 이 문
각 행이 [start_x, end_x, num_passengers]를 포함하는 요청된_트립이라는 행렬이 있고 용량 값도 있다고 가정합니다. 이제 요청된 각 여행은 start_x에서 num_passengers 승객을 태우고 end_x에서 하차하도록 요청합니다. 우리는 또한 주어진 수용력을 가진 차가 있고 위치 x =0에서 시작합니다. 우리는 모든 승객을 태우고 싶고 오른쪽으로만 이동할 수 있습니다. 우리는 모두를 태우고 내릴 수 있는지 확인해야 합니다. 따라서 입력이 trips =[[1, 25, 2], [3, 4, 3],[5, 12
숫자 nums(양수 또는 음수) 목록이 있다고 가정하고 배열에 있는 모든 값의 발생 횟수가 고유한지 여부를 확인해야 합니다. 따라서 입력이 nums =[6, 4, 2, 9, 4, 2, 2, 9, 9, 9]와 같으면 6이 1번 발생하고 4가 2번 발생하므로 출력은 True가 됩니다. 2가 3회, 9가 4회 발생합니다. 따라서 모든 발생 횟수는 고유합니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − num_counts :=모든 값과 해당 값의 발생 횟수가 저장되는 새 맵 발생 횟수 :=num_counts의 모든
바이너리 트리가 있다고 가정하면 트리의 모든 노드가 동일한 값을 갖는지 확인해야 합니다. 따라서 입력이 다음과 같으면 그러면 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − solve() 함수를 정의합니다. 이것은 뿌리를 내리고 val 루트가 null이면 참을 반환 val이 정의되지 않은 경우 val :=루트 값 root의 값이 val과 같을 때 true를 반환하고 solve(root의 왼쪽, val) 및 solve(root의 오른쪽, val)도 true
값 n이 있다고 가정합니다. 길이가 n인 모든 거꾸로 된 숫자를 찾아야 합니다. 매듭을 지을 때 거꾸로 된 숫자는 180도 뒤집었을 때 똑같이 나타나는 숫자입니다. 따라서 입력이 n =2와 같으면 출력은 [11, 69, 88, 96]이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 함수 middle() 을 정의하십시오. 시간이 걸립니다. x가 0이면 빈 문자열의 목록을 반환 x가 1과 같으면 요소 0, 1, 8의 새 목록을 반환 ret :=새 목록 중간 :=중간(x −
nums라는 숫자 목록이 있다고 가정하고 다음 규칙 중 하나를 사용하여 모든 숫자를 그룹화할 수 있는지 확인해야 합니다. 1. 연속 쌍(a, a) 2. 연속 삼중항(a, a, a) 3. 연속 세쌍둥이(a, a + 1, a + 2) 따라서 입력이 nums =[7, 7, 3, 4, 5]와 같으면 [7, 7]을 함께 그룹화하고 [3, 4, 5]를 함께 그룹화할 수 있으므로 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=숫자 크기 dp :=크기가 n+1인 목록, 첫 번째 값은 True,
Selenium webdriver로 부분 스크린샷을 찍을 수 있습니다. 특정 요소의 스크린샷을 캡처하려면 먼저 ID, 이름, 클래스 이름 등과 같은 로케이터를 사용하여 요소를 식별해야 합니다. 그런 다음 스크린샷을 적용해야 합니다. 해당 웹 요소에 대한 메서드를 만들고 메서드에 대한 인수로 확장명이 있는 이미지 이름을 전달합니다. 해당 웹 요소의 스크린샷이 포함된 새 파일이 프로젝트 폴더에 생성됩니다. 구문 l=driver.find_element_by_xpath("//img[@title='Tutorialspoint
페이지가 Selenium webdriver로 로드될 때까지 기다릴 수 있습니다. 동기화가 있습니다. 암시적 및 명시적 대기를 설명하는 Selenium의 개념입니다. 페이지가 로드될 때까지 기다리려면 명시적 대기 개념을 사용합니다. 명시적 대기는 요소의 특정 동작에 대해 예상되는 조건에 종속되도록 설계되었습니다. 페이지가 로드될 때까지 기다리려면 presence_of_element_loaded 예상 조건을 사용해야 합니다. 특정 요소에 대해. 대기 시간이 경과하면 시간 초과 오류가 발생합니다. 명시적 대기 조건을 구현하려면 Web
Selenium webdriver로 기본 시간 초과를 설정할 수 있습니다. set_page_load_timeout 메소드 페이지 로딩에 대한 시간 초과를 갖는 데 사용됩니다. 대기 시간(초)은 메소드에 매개변수로 전달됩니다. 구문 driver.set_page_load_timeout(5) 대기 시간이 지난 후에도 페이지가 여전히 로드되지 않으면 TimeoutException이 발생합니다. 암시적 대기를 사용할 수 있습니다. 기본 시간 초과 시간을 정의하기 위해 동기화된 개념입니다. 이것은 전역 대기 시간이며 페이지의 모든 요소에