Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitb0e7b54

Browse files
authored
Sri Hari: Batch-5/Neetcode-ALL/Added-articles (neetcode-gh#3841)
* Batch-5/Neetcode-ALL/Added-articles* Batch-5/Neetcode-ALL/Added-articles* Batch-5/Neetcode-ALL/Added-articles* Batch-5/Neetcode-ALL/Added-articles* Batch-5/Neetcode-ALL/Added-articles* Batch-5/Neetcode-ALL/Added-articles* Batch-5/Neetcode-ALL/Added-articles* Batch-5/Neetcode-ALL/Added-articles* Batch-5/Neetcode-ALL/Added-articles* Batch-5/Neetcode-ALL/Added-articles* Batch-5/Neetcode-ALL/Added-articles* Batch-5/Neetcode-ALL/Added-articles* Batch-5/Neetcode-ALL/Added-articles
1 parent803157a commitb0e7b54

File tree

52 files changed

+27731
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+27731
-0
lines changed

‎articles/all-possible-full-binary-trees.md

Lines changed: 693 additions & 0 deletions
Large diffs are not rendered by default.

‎articles/binary-search-tree-iterator.md

Lines changed: 699 additions & 0 deletions
Large diffs are not rendered by default.

‎articles/concatenated-words.md

Lines changed: 587 additions & 0 deletions
Large diffs are not rendered by default.

‎articles/count-all-valid-pickup-and-delivery-options.md

Lines changed: 668 additions & 0 deletions
Large diffs are not rendered by default.

‎articles/data-stream-as-disjoint-intervals.md

Lines changed: 450 additions & 0 deletions
Large diffs are not rendered by default.

‎articles/design-browser-history.md

Lines changed: 640 additions & 0 deletions
Large diffs are not rendered by default.

‎articles/detonate-the-maximum-bombs.md

Lines changed: 522 additions & 0 deletions
Large diffs are not rendered by default.

‎articles/distribute-coins-in-binary-tree.md

Lines changed: 723 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 298 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,298 @@
1+
##1. Sorting
2+
3+
::tabs-start
4+
5+
```python
6+
classSolution:
7+
defeliminateMaximum(self,dist: List[int],speed: List[int]) ->int:
8+
minReach= [math.ceil(d/ s)for d, sinzip(dist, speed)]
9+
minReach.sort()
10+
11+
res=0
12+
for minuteinrange(len(minReach)):
13+
if minute>= minReach[minute]:
14+
return res
15+
res+=1
16+
17+
return res
18+
```
19+
20+
```java
21+
publicclassSolution {
22+
publicinteliminateMaximum(int[]dist,int[]speed) {
23+
int n= dist.length;
24+
int[] minReach=newint[n];
25+
26+
for (int i=0; i< n; i++) {
27+
minReach[i]= (int)Math.ceil((double) dist[i]/ speed[i]);
28+
}
29+
30+
Arrays.sort(minReach);
31+
32+
int res=0;
33+
for (int minute=0; minute< n; minute++) {
34+
if (minute>= minReach[minute]) {
35+
return res;
36+
}
37+
res++;
38+
}
39+
40+
return res;
41+
}
42+
}
43+
```
44+
45+
```cpp
46+
classSolution {
47+
public:
48+
int eliminateMaximum(vector<int>& dist, vector<int>& speed) {
49+
int n = dist.size();
50+
vector<int> minReach(n);
51+
52+
for (int i = 0; i < n; i++) {
53+
minReach[i] = ceil((double)dist[i] / speed[i]);
54+
}
55+
56+
sort(minReach.begin(), minReach.end());
57+
58+
int res = 0;
59+
for (int minute = 0; minute < n; minute++) {
60+
if (minute >= minReach[minute]) {
61+
return res;
62+
}
63+
res++;
64+
}
65+
66+
return res;
67+
}
68+
};
69+
```
70+
71+
```javascript
72+
class Solution {
73+
/**
74+
* @param {number[]} dist
75+
* @param {number[]} speed
76+
* @return {number}
77+
*/
78+
eliminateMaximum(dist, speed) {
79+
let n = dist.length;
80+
let minReach = new Array(n);
81+
82+
for (let i = 0; i < n; i++) {
83+
minReach[i] = Math.ceil(dist[i] / speed[i]);
84+
}
85+
86+
minReach.sort((a, b) => a - b);
87+
88+
let res = 0;
89+
for (let minute = 0; minute < n; minute++) {
90+
if (minute >= minReach[minute]) {
91+
return res;
92+
}
93+
res++;
94+
}
95+
96+
return res;
97+
}
98+
}
99+
```
100+
101+
::tabs-end
102+
103+
###Time & Space Complexity
104+
105+
* Time complexity: $O(n \log n)$
106+
* Space complexity: $O(n)$
107+
108+
---
109+
110+
##2. Sorting (Overwrting Input Array)
111+
112+
::tabs-start
113+
114+
```python
115+
classSolution:
116+
defeliminateMaximum(self,dist: List[int],speed: List[int]) ->int:
117+
for iinrange(len(dist)):
118+
dist[i]= math.ceil(dist[i]/ speed[i])
119+
120+
dist.sort()
121+
for minuteinrange(len(dist)):
122+
if minute>= dist[minute]:
123+
return minute
124+
125+
returnlen(dist)
126+
```
127+
128+
```java
129+
publicclassSolution {
130+
publicinteliminateMaximum(int[]dist,int[]speed) {
131+
int n= dist.length;
132+
for (int i=0; i< n; i++) {
133+
dist[i]= (int)Math.ceil((double) dist[i]/ speed[i]);
134+
}
135+
136+
Arrays.sort(dist);
137+
for (int minute=0; minute< n; minute++) {
138+
if (minute>= dist[minute]) {
139+
return minute;
140+
}
141+
}
142+
143+
return n;
144+
}
145+
}
146+
```
147+
148+
```cpp
149+
classSolution {
150+
public:
151+
int eliminateMaximum(vector<int>& dist, vector<int>& speed) {
152+
int n = dist.size();
153+
for (int i = 0; i < n; i++) {
154+
dist[i] = ceil((double)dist[i] / speed[i]);
155+
}
156+
157+
sort(dist.begin(), dist.end());
158+
for (int minute = 0; minute < n; minute++) {
159+
if (minute >= dist[minute]) {
160+
return minute;
161+
}
162+
}
163+
164+
return n;
165+
}
166+
};
167+
```
168+
169+
```javascript
170+
classSolution {
171+
/**
172+
*@param{number[]}dist
173+
*@param{number[]}speed
174+
*@return{number}
175+
*/
176+
eliminateMaximum(dist,speed) {
177+
let n=dist.length;
178+
for (let i=0; i< n; i++) {
179+
dist[i]=Math.ceil(dist[i]/ speed[i]);
180+
}
181+
182+
dist.sort((a,b)=> a- b);
183+
for (let minute=0; minute< n; minute++) {
184+
if (minute>= dist[minute]) {
185+
return minute;
186+
}
187+
}
188+
189+
return n;
190+
}
191+
}
192+
```
193+
194+
::tabs-end
195+
196+
###Time & Space Complexity
197+
198+
* Time complexity: $O(n \log n)$
199+
* Space complexity: $O(1)$ or $O(n)$ depending on the sorting algorithm.
200+
201+
---
202+
203+
##3. Min-Heap
204+
205+
::tabs-start
206+
207+
```python
208+
classSolution:
209+
defeliminateMaximum(self,dist: List[int],speed: List[int]) ->int:
210+
minHeap= []
211+
for iinrange(len(dist)):
212+
heapq.heappush(minHeap, dist[i]/ speed[i])
213+
214+
res=0
215+
while minHeap:
216+
if res>= heapq.heappop(minHeap):
217+
return res
218+
res+=1
219+
220+
return res
221+
```
222+
223+
```java
224+
publicclassSolution {
225+
publicinteliminateMaximum(int[]dist,int[]speed) {
226+
PriorityQueue<Double> minHeap=newPriorityQueue<>();
227+
for (int i=0; i< dist.length; i++) {
228+
minHeap.add((double) dist[i]/ speed[i]);
229+
}
230+
231+
int res=0;
232+
while (!minHeap.isEmpty()) {
233+
if (res>= minHeap.poll()) {
234+
return res;
235+
}
236+
res++;
237+
}
238+
239+
return res;
240+
}
241+
}
242+
```
243+
244+
```cpp
245+
classSolution {
246+
public:
247+
int eliminateMaximum(vector<int>& dist, vector<int>& speed) {
248+
priority_queue<double, vector<double>, greater<double>> minHeap;
249+
for (int i = 0; i < dist.size(); i++) {
250+
minHeap.push((double)dist[i] / speed[i]);
251+
}
252+
253+
int res = 0;
254+
while (!minHeap.empty()) {
255+
if (res >= minHeap.top()) {
256+
return res;
257+
}
258+
minHeap.pop();
259+
res++;
260+
}
261+
262+
return res;
263+
}
264+
};
265+
```
266+
267+
```javascript
268+
classSolution {
269+
/**
270+
*@param{number[]}dist
271+
*@param{number[]}speed
272+
*@return{number}
273+
*/
274+
eliminateMaximum(dist,speed) {
275+
constminHeap=newMinPriorityQueue();
276+
for (let i=0; i<dist.length; i++) {
277+
minHeap.enqueue(dist[i]/ speed[i]);
278+
}
279+
280+
let res=0;
281+
while (!minHeap.isEmpty()) {
282+
if (res>=minHeap.dequeue().element) {
283+
return res;
284+
}
285+
res++;
286+
}
287+
288+
return res;
289+
}
290+
}
291+
```
292+
293+
::tabs-end
294+
295+
###Time & Space Complexity
296+
297+
* Time complexity: $O(n \log n)$
298+
* Space complexity: $O(n)$

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp