정수 배열이 있다고 가정합니다. 배열에 있는 각 요소의 가장 가까운 왼쪽 요소와 오른쪽 작은 요소 사이의 최대 절대 차이를 찾아야 합니다. 요소의 오른쪽이나 왼쪽에 더 작은 요소가 없으면 더 작은 요소로 0을 넣습니다. 따라서 입력이 A =[3, 5, 9, 8, 8, 10, 4]와 같으면 출력은 왼쪽 요소 L =[0, 3, 5, 5, 5, 8, 3으로 4가 됩니다. ], 오른쪽 요소 R =[0, 4, 8, 4, 4, 4, 0], 최대 절대 차이 L[i] - R[i] =8 - 4 =4. 이 문제를 해결하기 위해 다음 단계를 따릅니
N개의 도시가 있고 0에서 N-1까지 번호가 매겨져 있고 역이 위치한 도시도 있다고 가정하면 모든 도시 사이의 최대 거리를 찾아야 합니다. 도시와 가장 가까운 역. 역이 있는 도시는 임의의 순서로 제공될 수 있음을 명심해야 합니다. 따라서 입력이 N =6이고 스테이션 =[2,4]인 경우 출력은 2가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − station_present :=크기 N의 목록, False로 채우기 역의 각 도시에 대해 station_present[도시] :=참 dist :=
숫자 그리드가 있다고 가정합니다. 우리는 뱀 시퀀스를 찾아 반환해야 합니다. 여러 스네이크 시퀀스가 있는 경우 하나만 반환합니다. 우리가 알고 있듯이 스네이크 시퀀스는 그리드의 인접한 숫자를 사용하여 만들어지므로 각 숫자에 대해 오른쪽의 숫자 또는 그 아래의 숫자는 해당 값의 +1 또는 -1입니다. 따라서 현재 값이 그리드 셀(a, b)에 있는 경우 해당 숫자가 ± 1이면 오른쪽(a, b+1)으로 이동하거나 해당 숫자가 ± 1이면 아래로(a+1, b) 이동할 수 있습니다. 따라서 입력이 다음과 같으면 10 7 6 3 9 8
주어진 정수 X가 있다고 가정하고 처음 N개의 자연수의 합이 값 X를 초과하지 않도록 최대값 N을 찾아야 합니다. 따라서 입력이 X =7과 같으면 2가 N의 가능한 최대 값이므로 출력은 2가 됩니다. N =3의 경우 계열의 합은 X =7을 초과하므로 1^2 + 2^ 2 + 3^2 =1 + 4 + 9 =14. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − sum_of_squares() 함수를 정의합니다. N이 걸립니다. 해상도 :=(N *(N + 1) *(2 * N + 1)) / 6 반환 해상도 기본 방
두 개의 숫자 P와 Q가 있고 숫자 N =(P!/Q!)를 형성한다고 가정합니다. 가능한 최대 연산을 수행하여 N을 1로 줄여야 합니다. 각 연산에서 N을 X로 나눌 때 N을 N/X로 바꿀 수 있습니다. 가능한 최대 연산 수를 반환합니다. 따라서 입력이 A =7, B =4와 같으면 N이 210이고 제수가 2, 3, 5, 7이므로 출력은 4가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − N :=1000005 factor :=크기가 N이고 0으로 채워지는 배열 기본 방법에서 다음을 수행하십시오 -
N개의 요소가 있는 배열 A가 있다고 가정하고 1≤ ax ≤ 10^5 및 1≤ l≤ r≤ N인 두 개의 정수 l과 r도 있습니다. 요소 가져오기 배열에서 ax라고 말하고 제거하고 해당 배열에서 ax+1, ax+2 … ax+R 및 ax-1, ax-2 … ax-L과 동일한 모든 요소를 제거합니다. 이렇게 하면 도끼 점수가 소모됩니다. 배열에서 모든 요소를 제거한 후 총 비용을 최대화해야 합니다. 따라서 입력이 A =[2,4,3,10,5], l =1, r =2인 경우 출력은 18이 됩니다. 이 문제를 해결하기 위해 다음 단계를
양수 배열이 있고 해당 배열에 n개의 요소가 있다고 가정하고 0 <=i
BST(Binary Search Tree)가 있다고 가정하고 중앙값을 찾아야 합니다. 노드 수가 짝수인 경우 중앙값 =((n/2번째 노드 + (n+1)/2번째 노드) /2 노드가 홀수인 경우 중앙값 =(n+1)/2번째 노드 따라서 입력이 다음과 같으면 그러면 출력은 7이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 루트가 None과 같으면 0 반환 node_count :=트리의 노드 수 count_curr :=0 현재 :=루트 현재가 null이 아닌 동안 수행 cur
양수 배열이 있다고 가정합니다. 배열의 인접한 두 요소 간의 차이가 지정된 대상보다 작거나 같도록 해당 배열 배열의 각 요소를 교체합니다. 이제 조정 비용을 최소화하여 새 값과 이전 값의 차이의 합을 최소화해야 합니다. 보다 정확하게는 ∑|A[i] – Anew[i]|를 최소화합니다. 여기서 i는 0에서 n-1 사이의 범위에서, 여기서 n은 A의 크기로 표시되고 Anew는 인접 차이가 target보다 작거나 같은 배열입니다. 따라서 입력이 [56, 78, 53, 62, 40, 7, 26, 61, 50, 48], target =20인
다른 시간 요구 사항을 가진 일련의 작업이 있고 작업을 할당하는 k명의 다른 사람이 있으며 양수인이 작업의 한 단위를 수행하는 데 걸리는 시간도 있다고 가정합니다. 다음과 같은 제약 조건으로 모든 작업을 완료하는 데 필요한 최소 시간을 찾아야 합니다. 양수인에게는 연속 작업만 할당할 수 있습니다. 두 명의 담당자가 단일 작업을 공유하거나 수행할 수 없습니다. 따라서 입력이 k =4, t =5, job ={12, 6, 9, 15, 5, 9}인 경우 [12],[6 , 9],[15] 및 [5, 9] 이 문제를 해결하기
n개의 고유 숫자로 구성된 배열 A가 있다고 가정하고 이 n개의 요소는 배열에 오름차순으로 존재하지만 누락된 요소가 하나 있습니다. 누락된 요소를 찾아야 합니다. 따라서 입력이 A =[1, 2, 3, 4, 5, 6, 7, 9]와 같으면 출력은 8이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=A의 크기 왼쪽 :=0 오른쪽 :=n - 1 중간 :=0 왼쪽 , 수행 중간 :=왼쪽 +(오른쪽 - 왼쪽) / 2 A[mid] - mid가 A[0]과 같으면 1이면 반환
두 개의 정수 N과 K가 있다고 가정합니다. 비트 단위 OR이 K와 동일한 N개의 고유한 값을 찾아야 합니다. 그러한 결과가 없으면 -1을 반환합니다. 따라서 입력이 N =4 및 K =6과 같으면 출력은 [6,0,1,2]가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 최대 :=32 방문:=MAX 크기 목록 및 False로 채우기 res :=새 목록 add() 함수를 정의합니다. 시간이 걸립니다 포인트 :=0 값 :=0 범위 0에서 MAX까지의 i에 대해 수행 방문[i]이
길이가 m인 문자열이 있고 이 문자열에 소문자만 포함되어 있다고 가정하면 사전순으로 문자열의 n번째 순열을 찾아야 합니다. 따라서 입력이 string =pqr, n =3과 같으면 모든 순열이 [pqr, prq, qpr, qrp, rpq, rqp]이므로 출력은 qpr이고 정렬된 순서입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − MAX_CHAR :=26 MAX_FACT :=20 factorials :=MAX_FACT 크기의 배열 계승[0] :=1 범위 1에서 MAX_FACT까지의 i에 대해
bn이라는 일련의 숫자가 있다고 가정하고 이것은 b1=1 및 bn+1/bn=2n과 같은 반복 관계를 사용하여 표현됩니다. 주어진 n에 대해 log2(bn)의 값을 찾아야 합니다. 따라서 입력이 6과 같으면 출력은 log2(bn) =(n * (n - 1)) / 2 =(6*(6-1))/2 =15와 같이 5가 됩니다. 이 관계를 다음과 같이 풀면 이 문제를 해결할 수 있습니다. - bn+1 /bn =2n bn /bn-1 =2n-1 … b2 /b1 =21 , 위의 모든 것을 곱하면 얻을 수 있습니다. (bn+1 /bn ).(
다른 배열의 모든 가능한 요소 쌍에 대한 GCD가 제공된 배열 A가 있다고 가정하면 주어진 GCD 배열을 계산하는 데 사용되는 원래 숫자를 찾아야 합니다. 따라서 입력이 A =[6, 1, 1, 13]과 같으면 출력은 [13, 6]이 됩니다. gcd(13, 13)은 13, gcd(13, 6)는 1, gcd( 6, 13)은 1, gcd(6, 6)는 6 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=A의 크기 배열 A를 내림차순으로 정렬 발생 :=크기가 A[0]이고 0으로 채워지는 배열 0에서 n 사
고유한 양수의 정렬된 이중 연결 목록이 있다고 가정합니다. 주어진 값 x와 곱이 같은 이중 연결 목록에서 쌍을 찾아야 합니다. 이 문제는 추가 공간을 차지하지 않고 해결된다는 점을 명심해야 합니다. 따라서 입력이 L =1 ⇔ 2 ⇔ 4 ⇔ 5 ⇔ 6 ⇔ 8 ⇔ 9 및 x =8과 같으면 출력은 (1, 8), (2, 4)가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − curr :=머리, nxt :=머리 nxt.next가 None이 아닌 동안 0이 아닌 경우 수행 nxt :=nxt.next 발
숫자 N이 있다고 가정하면 N의 모든 요소를 찾고 N의 4개 요소의 곱을 다음과 같이 반환해야 합니다. 4개 요소의 합은 N과 같습니다. 4개 요소의 곱은 최대입니다. 4가지 요소는 모두 제품을 최대화하기 위해 서로 동일할 수 있습니다. 1 2 3 4 5 6 10 12 15 20 30 60이고 제품은 50625가 됩니다. 가장 큽니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 요인 :=새 목록 범위 1에서 (n의 제곱근) + 1의 정수까지의 i에 대해 n mod i가 0과 같으면 인수 끝에 i
Tkinter는 python을 기반으로 GUI 프로그램을 만드는 데 큰 지원을 제공합니다. 글꼴, 크기, 색상 등에 따라 Tkinter 캔버스에서 버튼의 스타일을 지정하는 다양한 방법을 제공합니다. 이 기사에서는 캔버스의 특정 버튼 또는 모든 버튼에 스타일을 적용하는 방법을 볼 것입니다. 특정 버튼에 적용 캔버스에 두 개의 버튼이 있고 첫 번째 버튼에만 일부 스타일을 적용하려는 경우를 고려해 보겠습니다. 글꼴 및 전경색과 함께 W.TButton을 구성의 일부로 사용합니다. 예 from tkinter import * from tki
모든 프로그래밍 언어에는 스크립트를 생성하고 터미널에서 실행하거나 다른 프로그램에서 호출하는 기능이 있습니다. 이러한 스크립트를 실행할 때 스크립트 내에서 실행되는 다양한 기능에 대해 스크립트에 필요한 인수를 전달해야 하는 경우가 많습니다. 이 기사에서는 인수를 파이썬 스크립트에 전달하는 다양한 방법이 무엇인지 알아볼 것입니다. sys.argv 사용 이것은 내장 모듈 sys.argv가 스크립트와 함께 전달되는 인수를 처리할 수 있습니다. 기본적으로 sys.argv[0]에서 고려되는 첫 번째 인수는 파일 이름입니다. 나머지 인수는
진행률 표시줄은 특정 작업의 진행 상황을 표시하는 데 사용되는 일반적인 GUI 요소입니다. 이 기사에서는 Python tkinter GUI 라이브러리를 사용하여 진행률 표시줄을 만드는 방법을 볼 것입니다. 아래 프로그램에서 tkinter.ttk 모듈의 진행 표시줄 하위 모듈을 가져왔습니다. 그런 다음 스타일 개체를 사용하여 스타일 옵션을 만들고 버튼 길이 값과 진행률 값을 제공합니다. 예시 import tkinter as tk from tkinter.ttk import Progressbar from tkinter import tt