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

Commit1a77484

Browse files
committed
2 parents90437c0 +b269084 commit1a77484

File tree

3 files changed

+180
-2
lines changed

3 files changed

+180
-2
lines changed

‎README.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ If you would like to have collaborator permissions on the repo to merge your own
182182
<sub>[0024 - Swap Nodes In Pairs](https://leetcode.com/problems/swap-nodes-in-pairs/)</sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](go%2F0024-swap-nodes-in-pairs.go)</div></sub> | <sub><divalign='center'>[✔️](java%2F0024-swap-nodes-in-pairs.java)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](python%2F0024-swap-nodes-in-pairs.py)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub>
183183
<sub>[0148 - Sort List](https://leetcode.com/problems/sort-list/)</sub> | <sub><divalign='center'>[✔️](c%2F0148-sort-list.c)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](java%2F0148-sort-list.java)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](python%2F0148-sort-list.py)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub>
184184
<sub>[0086 - Partition List](https://leetcode.com/problems/partition-list/)</sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](java%2F0086-partition-list.java)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](python%2F0086-partition-list.py)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub>
185-
<sub>[0061 - Rotate List](https://leetcode.com/problems/rotate-list/)</sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'></div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](java%2F0061-rotate-list.java)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](python%2F0061-rotate-list.py)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub>
185+
<sub>[0061 - Rotate List](https://leetcode.com/problems/rotate-list/)</sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](cpp%2F0061-rotate-list.cpp)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](java%2F0061-rotate-list.java)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](python%2F0061-rotate-list.py)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub>
186186
<sub>[0092 - Reverse Linked List II](https://leetcode.com/problems/reverse-linked-list-ii/)</sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](javascript%2F0092-reverse-linked-list-ii.js)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](python%2F0092-reverse-linked-list-ii.py)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub>
187187
<sub>[0622 - Design Circular Queue](https://leetcode.com/problems/design-circular-queue/)</sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](go%2F0622-design-circular-queue.go)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](kotlin%2F0622-design-circular-queue.kt)</div></sub> | <sub><divalign='center'>[✔️](python%2F0622-design-circular-queue.py)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub>
188188
<sub>[0147 - Insertion Sort List](https://leetcode.com/problems/insertion-sort-list/)</sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](python%2F0147-insertion-sort-list.py)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub>
@@ -364,7 +364,7 @@ If you would like to have collaborator permissions on the repo to merge your own
364364
<sub>[5782 - Maximum Alternating Subsequence Sum](https://leetcode.com/problems/maximum-alternating-subsequence-sum/)</sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub>
365365
<sub>[0115 - Distinct Subsequences](https://leetcode.com/problems/distinct-subsequences/)</sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](cpp%2F0115-distinct-subsequences.cpp)</div></sub> | <sub><divalign='center'>[✔️](csharp%2F0115-distinct-subsequences.cs)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](java%2F0115-distinct-subsequences.java)</div></sub> | <sub><divalign='center'>[✔️](javascript%2F0115-distinct-subsequences.js)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](python%2F0115-distinct-subsequences.py)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](typescript%2F0115-distinct-subsequences.ts)</div></sub>
366366
<sub>[0072 - Edit Distance](https://leetcode.com/problems/edit-distance/)</sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](cpp%2F0072-edit-distance.cpp)</div></sub> | <sub><divalign='center'>[✔️](csharp%2F0072-edit-distance.cs)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](java%2F0072-edit-distance.java)</div></sub> | <sub><divalign='center'>[✔️](javascript%2F0072-edit-distance.js)</div></sub> | <sub><divalign='center'>[✔️](kotlin%2F0072-edit-distance.kt)</div></sub> | <sub><divalign='center'>[✔️](python%2F0072-edit-distance.py)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](scala%2F0072-edit-distance.scala)</div></sub> | <sub><divalign='center'>[✔️](swift%2F0072-edit-distance.swift)</div></sub> | <sub><divalign='center'>❌</div></sub>
367-
<sub>[1220 - Count Vowels Permutation](https://leetcode.com/problems/count-vowels-permutation/)</sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'></div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](go%2F1220-count-vowels-permutation.go)</div></sub> | <sub><divalign='center'>[✔️](java%2F1220-Count-Vowels-Permutation.java)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](python%2F1220-count-vowels-permutation.py)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub>
367+
<sub>[1220 - Count Vowels Permutation](https://leetcode.com/problems/count-vowels-permutation/)</sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](cpp%2F1220-count-vowels-permutation.cpp)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](go%2F1220-count-vowels-permutation.go)</div></sub> | <sub><divalign='center'>[✔️](java%2F1220-Count-Vowels-Permutation.java)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](python%2F1220-count-vowels-permutation.py)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub>
368368
<sub>[0312 - Burst Balloons](https://leetcode.com/problems/burst-balloons/)</sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](cpp%2F0312-burst-balloons.cpp)</div></sub> | <sub><divalign='center'>[✔️](csharp%2F0312-burst-balloons.cs)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](java%2F0312-burst-balloons.java)</div></sub> | <sub><divalign='center'>[✔️](javascript%2F0312-burst-balloons.js)</div></sub> | <sub><divalign='center'>[✔️](kotlin%2F0312-burst-balloons.kt)</div></sub> | <sub><divalign='center'>[✔️](python%2F0312-burst-balloons.py)</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>[✔️](typescript%2F0312-burst-balloons.ts)</div></sub>
369369
<sub>[1866 - Number of Ways to Rearrange Sticks With K Sticks Visible](https://leetcode.com/problems/number-of-ways-to-rearrange-sticks-with-k-sticks-visible/)</sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub> | <sub><divalign='center'>❌</div></sub>
370370
<sub>[0010 - Regular Expression Matching](https://leetcode.com/problems/regular-expression-matching/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F0010-regular-expression-matching.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0010-regular-expression-matching.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0010-regular-expression-matching.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0010-regular-expression-matching.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0010-regular-expression-matching.js)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](python%2F0010-regular-expression-matching.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](typescript%2F0010-regular-expression-matching.ts)</div></sub>
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
/*
2+
Given an integer n, our task is to count how many strings of length n can be formed under the following rules:
3+
4+
Each character is a lower case vowel ('a', 'e', 'i', 'o', 'u')
5+
Each vowel 'a' may only be followed by an 'e'.
6+
Each vowel 'e' may only be followed by an 'a' or an 'i'.
7+
Each vowel 'i' may not be followed by another 'i'.
8+
Each vowel 'o' may only be followed by an 'i' or a 'u'.
9+
Each vowel 'u' may only be followed by an 'a'.
10+
Since the answer may be too large, we have to return it modulo 10^9 + 7.
11+
12+
Example. For n = 2, Output = 10
13+
14+
Explanation: All possible strings of length 2 that can be formed as per the given rules are: "ae", "ea", "ei", "ia", "ie", "io", "iu",
15+
"oi", "ou" and "ua".
16+
So we return 10 as our answer.
17+
18+
19+
Time: O(n)
20+
Space: O(1)
21+
22+
*/
23+
24+
25+
classSolution {
26+
constunsignedint mod =1e9+7;
27+
public:
28+
intcountVowelPermutation(int n) {
29+
vector<int>prev(5,1),curr(5,0);
30+
for(int i=1; i<n; i++) {
31+
curr[0] = prev[1] % mod;
32+
curr[1] = (prev[0] + prev[2]) % mod;
33+
curr[2] = ((prev[0] % mod) + (prev[1] % mod) + (prev[3] % mod) + (prev[4] % mod)) % mod;
34+
curr[3] = (prev[4] + prev[2]) % mod;
35+
curr[4] = prev[0] % mod;
36+
prev = curr;
37+
}
38+
int ans =0;
39+
for(auto &a:prev) ans = (ans + a) % mod;
40+
return ans;
41+
}
42+
};

‎kotlin/0912-sort-an-array.kt‎

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
/*
2+
* Merge sort
3+
*/
4+
classSolution {
5+
funsortArray(nums:IntArray):IntArray {
6+
mergeSort(nums,0, nums.lastIndex)
7+
return nums
8+
}
9+
10+
privatefunmergeSort(nums:IntArray,left:Int,right:Int) {
11+
if(left== right)return
12+
13+
val mid= (left+ right)/2
14+
mergeSort(nums, left, mid)
15+
mergeSort(nums, mid+1, right)
16+
merge(nums, left, mid, right)
17+
18+
return
19+
}
20+
21+
privatefunmerge(nums:IntArray,left:Int,mid:Int,right:Int) {
22+
val leftPart= nums.copyOfRange(left, mid+1)
23+
val rightPart= nums.copyOfRange(mid+1, right+1)
24+
var i= left
25+
var j=0
26+
var k=0
27+
28+
while(j< leftPart.size&& k< rightPart.size) {
29+
if(leftPart[j]<= rightPart[k]) {
30+
nums[i]= leftPart[j]
31+
j++
32+
}else{
33+
nums[i]= rightPart[k]
34+
k++
35+
}
36+
i++
37+
}
38+
39+
while(j< leftPart.size) {
40+
nums[i]= leftPart[j]
41+
j++
42+
i++
43+
}
44+
45+
while(k< rightPart.size) {
46+
nums[i]= rightPart[k]
47+
k++
48+
i++
49+
}
50+
}
51+
}
52+
53+
/*
54+
* Quick sort
55+
* This will fail testcase 17/19 (used to pass earlier, before adding new testcases), I still added it here for interest.
56+
* It fails on test case where we have an array with many elements of which all are 2's. This will have quicksort to run as
57+
* its worst case, which is O(n^2). But on average this will run O(nlogn)
58+
*/
59+
classSolution {
60+
funsortArray(nums:IntArray):IntArray {
61+
62+
quickSort(nums,0, nums.lastIndex)
63+
return nums
64+
}
65+
66+
privatefunquickSort(nums:IntArray,low:Int,high:Int) {
67+
if (low< high) {
68+
val pivotIndex= partition(nums, low, high)
69+
quickSort(nums, low, pivotIndex-1)
70+
quickSort(nums, pivotIndex+1, high)
71+
}
72+
}
73+
74+
privatefunpartition(nums:IntArray,low:Int,high:Int):Int {
75+
val pivot= nums[high]
76+
var i= low
77+
78+
for(jin low until high) {
79+
if (nums[j]<= pivot) {
80+
nums.swap(i, j)
81+
i++
82+
}
83+
}
84+
85+
nums.swap(i, high)
86+
return i
87+
}
88+
89+
fun IntArray.swap(i:Int,j:Int) {
90+
this[i]=this[j].also{this[j]=this[i] }
91+
}
92+
}
93+
94+
/*
95+
* Heap sort
96+
*/
97+
classSolution {
98+
funsortArray(nums:IntArray):IntArray {
99+
100+
heapSort(nums)
101+
return nums
102+
}
103+
104+
privatefunheapSort(nums:IntArray) {
105+
val n= nums.size
106+
107+
for(iin (n/2-1) downTo0)
108+
heapify(nums, n, i)
109+
110+
for(iin n-1 downTo0) {
111+
nums.swap(0, i)
112+
heapify(nums, i,0)
113+
}
114+
}
115+
116+
privatefunheapify(nums:IntArray,n:Int,i:Int) {
117+
var largest= i
118+
119+
val left=2* i+1
120+
val right=2* i+2
121+
122+
if(left< n&& nums[left]> nums[largest])
123+
largest= left
124+
if(right< n&& nums[right]> nums[largest])
125+
largest= right
126+
127+
if(largest!= i) {
128+
nums.swap(i, largest)
129+
heapify(nums, n, largest)
130+
}
131+
}
132+
133+
fun IntArray.swap(i:Int,j:Int) {
134+
this[i]=this[j].also{this[j]=this[i] }
135+
}
136+
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp