Skip to content

Commit afbc6a6

Browse files
authored
feat: add ts solution to lcof problem: No.03. Find Repeat Number (doocs#421)
1 parent 12ed47c commit afbc6a6

File tree

3 files changed

+34
-0
lines changed

3 files changed

+34
-0
lines changed

index.html

+1
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@
103103
<script src="//cdn.jsdelivr.net/npm/prismjs/components/prism-kotlin.min.js"></script>
104104
<script src="//cdn.jsdelivr.net/npm/prismjs/components/prism-csharp.min.js"></script>
105105
<script src="//cdn.jsdelivr.net/npm/prismjs/components/prism-javascript.min.js"></script>
106+
<script src="//cdn.jsdelivr.net/npm/prismjs/components/prism-typescript.min.js"></script>
106107
<script src="//cdn.jsdelivr.net/npm/prismjs/components/prism-python.min.js"></script>
107108
<script src="//cdn.jsdelivr.net/npm/docsify-copy-code@2.1.1/dist/docsify-copy-code.min.js"></script>
108109
<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js"></script>

lcof/面试题03. 数组中重复的数字/README.md

+19
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,25 @@ public:
144144
};
145145
```
146146

147+
### **TypeScript**
148+
149+
```ts
150+
function findRepeatNumber(nums: number[]): number {
151+
let n: number = nums.length;
152+
for (let i: number = 0; i < n; i++) {
153+
while (nums[i] != i) {
154+
if (nums[i] == nums[nums[i]]) return nums[i];
155+
swap(nums, i, nums[i]);
156+
}
157+
}
158+
return -1;
159+
};
160+
161+
function swap (nums: number[], i: number, j: number): void {
162+
[nums[i], nums[j]] = [nums[j], nums[i]];
163+
}
164+
```
165+
147166
### **...**
148167

149168
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
function findRepeatNumber(nums: number[]): number {
2+
let n: number = nums.length;
3+
for (let i: number = 0; i < n; i++) {
4+
while (nums[i] != i) {
5+
if (nums[i] == nums[nums[i]]) return nums[i];
6+
swap(nums, i, nums[i]);
7+
}
8+
}
9+
return -1;
10+
};
11+
12+
function swap (nums: number[], i: number, j: number): void {
13+
[nums[i], nums[j]] = [nums[j], nums[i]];
14+
}

0 commit comments

Comments
 (0)