주간 코딩 질문 - W3

이번주 질문입니다

1) Find All Duplicates in an Array

해시 맵
배열을 탐색하는 동안 현재 요소가 지도에 있는지 여부를 확인하고, 존재하는 경우 중복 요소이므로 ans 배열에 푸시하고 계속합니다. 그렇지 않은 경우 지도에 저장합니다.

원 패스 및 상수 공간
아이디어는 요소를 인덱스로 사용하고 도달한 위치를 원래 값의 음수로 표시하는 것입니다. 그렇게 함으로써 우리는 그 위치에 다시 도달하면(즉, 음수가 될 것임) 인덱스로 사용한 요소가 중복 숫자임을 의미합니다.

2) Max Area of Island

DFS 순회를 수행하고 각 순회에 대해 no를 계산합니다. 방문 위치를 0으로 표시합니다. 그런 다음 모든 영역에서 얻은 최대값을 반환합니다.

3) Reverse Integer

정수를 뒤집는 기본은 정수 범위에 존재하는지 여부만 확인하면 됩니다.

4) Add Binary

캐리를 유지하여 문자열에서 이진 추가를 수행합니다.

5) Palindrome Number

역동작을 수행하고 비교합니다.

6) Happy Number

필요한 논리를 수행하십시오.

7) Missing Number

실제 합계 - 배열 합계는 누락된 숫자를 제공합니다.

8) Maximum Product of Three Numbers

정렬 후 마지막 3자리 제품 또는 처음 2자리와 마지막 자리 제품.

9) Power of Two

오른쪽 이동 연산자(>>)를 사용하여 숫자를 이동하고 이진 형식으로 존재하는 숫자를 계산합니다. count가 1이면 2의 거듭제곱입니다.

10) Minimum Moves to Equal Array Elements

요소의 증가 또는 감소는 동일합니다. 따라서 아이디어는 모든 요소를 ​​0으로 줄이는 것입니다. 먼저 최소 개수만큼 요소를 뺀 다음 나머지 요소의 합을 더하여 이를 달성할 수 있습니다.

array = [2, 3, 4]
subtract 2 (minimum no.) from all the elements
array = [0, 1, 2]
now to make the array all zero, no. of operations 
will be equal to sum of all the elements.

formula generated = sum of array - minNum * size of array


11) Minimum Deletions to Make Array Divisible

아이디어는 간단합니다. 모든 숫자의 gcd가 해당 숫자로 나누어질 때 숫자는 숫자 그룹을 나눌 수 있습니다. 따라서 모든 숫자의 gcd를 계산한 다음 나누지 않는 가장 작은 숫자를 제거하기 위해 주어진 배열을 정렬한 다음 확인합니다.

좋은 웹페이지 즐겨찾기