-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocs__algorithm__sft.md.43703bb0.async.js
More file actions
190 lines (173 loc) · 13.3 KB
/
docs__algorithm__sft.md.43703bb0.async.js
File metadata and controls
190 lines (173 loc) · 13.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
"use strict";(self.webpackChunkwebBlog=self.webpackChunkwebBlog||[]).push([[719],{42581:function(l,u,s){s.r(u);var t=s(72269),_=s(93359),c=s(61788),m=s(19977),j=s(25809),a=s(90978),x=s(96057),h=s(83213),i=s(53683),r=s(80936),d=s(67294),e=s(49561),n=s(85893);function o(){return(0,n.jsx)(i.dY,{children:(0,n.jsx)(d.Suspense,{fallback:(0,n.jsx)(r.Z,{}),children:(0,n.jsx)(n.Fragment,{children:(0,n.jsxs)("div",{className:"markdown",children:[(0,n.jsxs)("h2",{id:"1\u5408\u5E76\u4E24\u4E2A\u6570\u7EC4",children:[(0,n.jsx)("a",{"aria-hidden":"true",tabIndex:"-1",href:"#1\u5408\u5E76\u4E24\u4E2A\u6570\u7EC4",children:(0,n.jsx)("span",{className:"icon icon-link"})}),"1.\u5408\u5E76\u4E24\u4E2A\u6570\u7EC4"]}),(0,n.jsx)("p",{children:e.texts[0].value}),(0,n.jsx)("blockquote",{children:(0,n.jsx)("p",{children:e.texts[1].value})}),(0,n.jsxs)("h3",{id:"\u4EE3\u7801",children:[(0,n.jsx)("a",{"aria-hidden":"true",tabIndex:"-1",href:"#\u4EE3\u7801",children:(0,n.jsx)("span",{className:"icon icon-link"})}),"\u4EE3\u7801"]}),(0,n.jsx)(a.Z,{lang:"js",children:e.texts[2].value}),(0,n.jsxs)("h2",{id:"2\u4E24\u6570\u6C42\u548C\u95EE\u9898",children:[(0,n.jsx)("a",{"aria-hidden":"true",tabIndex:"-1",href:"#2\u4E24\u6570\u6C42\u548C\u95EE\u9898",children:(0,n.jsx)("span",{className:"icon icon-link"})}),"2.\u4E24\u6570\u6C42\u548C\u95EE\u9898"]}),(0,n.jsx)("p",{children:e.texts[3].value}),(0,n.jsx)("blockquote",{children:(0,n.jsx)("p",{children:e.texts[4].value})}),(0,n.jsxs)("h3",{id:"\u4EE3\u7801-1",children:[(0,n.jsx)("a",{"aria-hidden":"true",tabIndex:"-1",href:"#\u4EE3\u7801-1",children:(0,n.jsx)("span",{className:"icon icon-link"})}),"\u4EE3\u7801"]}),(0,n.jsx)(a.Z,{lang:"js",children:e.texts[5].value}),(0,n.jsxs)("h2",{id:"3\u4E09\u6570\u6C42\u548C\u95EE\u9898",children:[(0,n.jsx)("a",{"aria-hidden":"true",tabIndex:"-1",href:"#3\u4E09\u6570\u6C42\u548C\u95EE\u9898",children:(0,n.jsx)("span",{className:"icon icon-link"})}),"3.\u4E09\u6570\u6C42\u548C\u95EE\u9898"]}),(0,n.jsx)("p",{children:e.texts[6].value}),(0,n.jsx)("blockquote",{children:(0,n.jsx)("p",{children:e.texts[7].value})}),(0,n.jsx)(a.Z,{lang:"js",children:e.texts[8].value}),(0,n.jsx)("p",{children:e.texts[9].value}),(0,n.jsx)("p",{children:e.texts[10].value}),(0,n.jsx)("p",{children:e.texts[11].value}),(0,n.jsx)("p",{children:e.texts[12].value}),(0,n.jsxs)("h2",{id:"4\u5224\u65AD\u4E00\u4E2A\u5B57\u7B26\u4E32\u662F\u5426\u662F\u56DE\u6587\u5B57\u7B26\u4E32",children:[(0,n.jsx)("a",{"aria-hidden":"true",tabIndex:"-1",href:"#4\u5224\u65AD\u4E00\u4E2A\u5B57\u7B26\u4E32\u662F\u5426\u662F\u56DE\u6587\u5B57\u7B26\u4E32",children:(0,n.jsx)("span",{className:"icon icon-link"})}),"4\u3001\u5224\u65AD\u4E00\u4E2A\u5B57\u7B26\u4E32\u662F\u5426\u662F\u56DE\u6587\u5B57\u7B26\u4E32"]}),(0,n.jsxs)("p",{children:[e.texts[13].value,(0,n.jsx)("code",{children:e.texts[14].value}),e.texts[15].value]}),(0,n.jsx)(a.Z,{lang:"js",children:e.texts[16].value}),(0,n.jsxs)("h3",{id:"\u56DE\u6587\u5B57\u7B26\u4E32\u7684\u884D\u751F\u95EE\u9898",children:[(0,n.jsx)("a",{"aria-hidden":"true",tabIndex:"-1",href:"#\u56DE\u6587\u5B57\u7B26\u4E32\u7684\u884D\u751F\u95EE\u9898",children:(0,n.jsx)("span",{className:"icon icon-link"})}),"\u56DE\u6587\u5B57\u7B26\u4E32\u7684\u884D\u751F\u95EE\u9898"]}),(0,n.jsx)("blockquote",{children:(0,n.jsx)("p",{children:e.texts[17].value})}),(0,n.jsx)("blockquote",{children:(0,n.jsx)("p",{children:e.texts[18].value})}),(0,n.jsx)(a.Z,{lang:"js",children:e.texts[19].value})]})})})})}u.default=o},49561:function(l,u,s){s.r(u),s.d(u,{texts:function(){return t}});const t=[{value:"\u7ED9\u4F60\u4E24\u4E2A\u6709\u5E8F\u6574\u6570\u6570\u7EC4 nums1 \u548C nums2\uFF0C\u8BF7\u4F60\u5C06 num2 \u5408\u5E76\u5230 nums1 \u4E2D\uFF0C\u4F7F nums1 \u6210\u4E3A\u4E00\u4E2A\u6709\u5E8F\u6570\u7EC4\u3002",paraId:0,tocIndex:0},{value:"\u793A\u4F8B\uFF1Anums1 = [1,2,3,0,0,0], m = 3, num2 = [2,5,6], n = 3 \u8F93\u51FA: [1,2,2,3,5,6]",paraId:1,tocIndex:0},{value:`//\u53CC\u6307\u9488
const mergeArray = function(num1, m, num2, n) {
let i = m - 1,
j = n - 1,
k = m + n - 1;
while (i >= 0 && j >= 0) {
if (num2[j] > num1[i]) {
num1[k] = num2[j];
k--;
j--;
} else {
num1[k] = num1[i];
i--;
k--;
}
}
while (j > 0) {
num1[k] = num2[j];
j--;
k--;
}
return num1;
};
console.log(mergeArray([1, 2, 3, 0, 0, 0], 3, [2, 5, 6], 3));
console.log(mergeArray([1, 0, 0], 1, [2, 5, 6], 3));
`,paraId:2,tocIndex:1},{value:"\u7ED9\u5B9A\u4E00\u4E2A\u6574\u6570\u6570\u7EC4 nums \u548C\u4E00\u4E2A\u76EE\u6807\u503C target\uFF0C\u8BF7\u4F60\u5728\u8BE5\u6570\u7EC4\u4E2D\u627E\u51FA\u548C\u4E3A\u76EE\u6807\u503C\u7684\u90A3\u4E24\u4E2A\u6574\u6570\uFF0C\u5E76\u8FD4\u56DE\u4ED6\u4EEC\u7684\u6570\u7EC4\u4E0B\u6807",paraId:3,tocIndex:2},{value:"\u793A\u4F8B\uFF1A \u7ED9\u5B9A nums=[2,7,9,11],target=9,\u56E0\u4E3A nums[0]+nums[1]=target\uFF0C\u6240\u4EE5\u8FD4\u56DE[0,1]",paraId:4,tocIndex:2},{value:`//\u7B2C\u4E00\u79CD\u5E38\u89C1\u89E3\u6CD5 for\u5FAA\u73AF\u904D\u5386\u67E5\u627E
const addNums = function(arr, target) {
const obj = {};
for (let i = 0; i < arr.length; i++) {
if (obj[target - arr[i]] !== undefined) {
return [obj[target - arr[i]], i];
}
obj[arr[i]] = i;
}
};
console.log(addNums([2, 7, 9, 11], 9));
//\u7B2C\u4E8C\u79CD \u7A7A\u95F4\u6362\u65F6\u95F4
const addNums = function(arr, target) {
const obj = new Map();
for (let i = 0; i < arr.length; i++) {
if (obj.has(target - arr[i])) {
return [obj.get(target - arr[i]), i];
}
obj.set(arr[i], i);
}
};
console.log(addNums([2, 7, 9, 11], 9));
//\u53CC\u6307\u9488\u89E3\u6CD5
const addNums = function(arr, target) {
let i = 0;
let j = nums.length - 1;
while (i < j) {
if (nums[i] + nums[j] > target) {
j--;
} else if (nums[i] + nums[j] < target) {
i++;
} else {
return [i, j];
}
}
};
console.log(addNums([2, 7, 9, 11], 9));
`,paraId:5,tocIndex:3},{value:`\u771F\u9898\u63CF\u8FF0\uFF1A\u7ED9\u4F60\u4E00\u4E2A\u5305\u542B n \u4E2A\u6574\u6570\u7684\u6570\u7EC4 nums\uFF0C\u5224\u65AD nums \u4E2D\u662F\u5426\u5B58\u5728\u4E09\u4E2A\u5143\u7D20 a\uFF0Cb\uFF0Cc \uFF0C\u4F7F\u5F97 a + b + c = 0 \uFF1F\u8BF7\u4F60\u627E\u51FA\u6240\u6709\u6EE1\u8DB3\u6761\u4EF6\u4E14\u4E0D\u91CD\u590D\u7684\u4E09\u5143\u7EC4\u3002
\u6CE8\u610F\uFF1A\u7B54\u6848\u4E2D\u4E0D\u53EF\u4EE5\u5305\u542B\u91CD\u590D\u7684\u4E09\u5143\u7EC4\u3002`,paraId:6,tocIndex:4},{value:"\u793A\u4F8B\uFF1A \u7ED9\u5B9A\u6570\u7EC4 nums = [-1, 0, 1, 2, -1, -4]\uFF0C \u6EE1\u8DB3\u8981\u6C42\u7684\u4E09\u5143\u7EC4\u96C6\u5408\u4E3A\uFF1A [ [-1, 0, 1], [-1, -1, 2] ]",paraId:7,tocIndex:4},{value:`const threeSum = function(nums) {
// \u7528\u4E8E\u5B58\u653E\u7ED3\u679C\u6570\u7EC4
let res = [];
// \u7ED9 nums \u6392\u5E8F
nums = nums.sort((a, b) => {
return a - b;
});
console.log(nums);
// \u7F13\u5B58\u6570\u7EC4\u957F\u5EA6
const len = nums.length;
// \u6CE8\u610F\u6211\u4EEC\u904D\u5386\u5230\u5012\u6570\u7B2C\u4E09\u4E2A\u6570\u5C31\u8DB3\u591F\u4E86\uFF0C\u56E0\u4E3A\u5DE6\u53F3\u6307\u9488\u4F1A\u904D\u5386\u540E\u9762\u4E24\u4E2A\u6570
for (let i = 0; i < len - 2; i++) {
// \u5DE6\u6307\u9488 j
let j = i + 1;
// \u53F3\u6307\u9488k
let k = len - 1;
// \u5982\u679C\u9047\u5230\u91CD\u590D\u7684\u6570\u5B57\uFF0C\u5219\u8DF3\u8FC7
if (i > 0 && nums[i] === nums[i - 1]) {
continue;
}
while (j < k) {
// \u4E09\u6570\u4E4B\u548C\u5C0F\u4E8E0\uFF0C\u5DE6\u6307\u9488\u524D\u8FDB
if (nums[i] + nums[j] + nums[k] < 0) {
j++;
// \u5904\u7406\u5DE6\u6307\u9488\u5143\u7D20\u91CD\u590D\u7684\u60C5\u51B5
while (j < k && nums[j] === nums[j - 1]) {
j++;
}
} else if (nums[i] + nums[j] + nums[k] > 0) {
// \u4E09\u6570\u4E4B\u548C\u5927\u4E8E0\uFF0C\u53F3\u6307\u9488\u540E\u9000
k--;
// \u5904\u7406\u53F3\u6307\u9488\u5143\u7D20\u91CD\u590D\u7684\u60C5\u51B5
while (j < k && nums[k] === nums[k + 1]) {
k--;
}
} else {
// \u5F97\u5230\u76EE\u6807\u6570\u5B57\u7EC4\u5408\uFF0C\u63A8\u5165\u7ED3\u679C\u6570\u7EC4
res.push([nums[i], nums[j], nums[k]]);
// \u5DE6\u53F3\u6307\u9488\u4E00\u8D77\u524D\u8FDB
j++;
k--;
// \u82E5\u5DE6\u6307\u9488\u5143\u7D20\u91CD\u590D\uFF0C\u8DF3\u8FC7
while (j < k && nums[j] === nums[j - 1]) {
j++;
}
// \u82E5\u53F3\u6307\u9488\u5143\u7D20\u91CD\u590D\uFF0C\u8DF3\u8FC7
while (j < k && nums[k] === nums[k + 1]) {
k--;
}
}
}
}
// \u8FD4\u56DE\u7ED3\u679C\u6570\u7EC4
return res;
};
console.log(threeSum([-1, 0, 1, 2, -1, -4]));
`,paraId:8,tocIndex:4},{value:"\u5728\u4E0A\u9762\u8FD9\u9053\u9898\u4E2D\uFF0C\u5DE6\u53F3\u6307\u9488\u4E00\u8D77\u4ECE\u4E24\u8FB9\u5F80\u4E2D\u95F4\u4F4D\u7F6E\u76F8\u4E92\u8FEB\u8FD1\uFF0C\u8FD9\u6837\u7684\u7279\u6B8A\u53CC\u6307\u9488\u5F62\u6001\uFF0C\u88AB\u79F0\u4E3A\u201C\u5BF9\u649E\u6307\u9488\u201D\u3002",paraId:9,tocIndex:4},{value:`\u4EC0\u4E48\u65F6\u5019\u4F60\u9700\u8981\u8054\u60F3\u5230\u5BF9\u649E\u6307\u9488\uFF1F
\u8FD9\u91CC\u6211\u7ED9\u5927\u5BB6\u4E24\u4E2A\u5173\u952E\u5B57\u2014\u2014\u201C\u6709\u5E8F\u201D\u548C\u201C\u6570\u7EC4\u201D\u3002
\u6CA1\u9519\uFF0C\u89C1\u5230\u8FD9\u4E24\u4E2A\u5173\u952E\u5B57\uFF0C\u7ACB\u523B\u628A\u53CC\u6307\u9488\u6CD5\u8C03\u5EA6\u8FDB\u4F60\u7684\u5927\u8111\u5185\u5B58\u3002\u666E\u901A\u53CC\u6307\u9488\u8D70\u4E0D\u901A\uFF0C\u7ACB\u523B\u60F3\u5BF9\u649E\u6307\u9488\uFF01`,paraId:10,tocIndex:4},{value:"\u5373\u4FBF\u6570\u7EC4\u9898\u76EE\u4E2D\u5E76\u6CA1\u6709\u76F4\u63A5\u7ED9\u51FA\u201C\u6709\u5E8F\u201D\u8FD9\u4E2A\u5173\u952E\u6761\u4EF6\uFF0C\u6211\u4EEC\u5728\u53D1\u89C9\u666E\u901A\u601D\u8DEF\u8D70\u4E0D\u4E0B\u53BB\u7684\u65F6\u5019\uFF0C\u4E5F\u5E94\u8BE5\u53CA\u65F6\u5730\u5C1D\u8BD5\u624B\u52A8\u5BF9\u5176\u8FDB\u884C\u6392\u5E8F\u8BD5\u8BD5\u770B\u6709\u6CA1\u6709\u65B0\u7684\u5207\u5165\u70B9\u2014\u2014\u6CA1\u6709\u6761\u4EF6\uFF0C\u521B\u9020\u6761\u4EF6\u4E5F\u8981\u4E0A\u3002",paraId:11,tocIndex:4},{value:"\u5BF9\u649E\u6307\u9488\u53EF\u4EE5\u5E2E\u52A9\u6211\u4EEC\u7F29\u5C0F\u95EE\u9898\u7684\u8303\u56F4\uFF0C\u8FD9\u4E00\u70B9\u5728\u201C\u4E09\u6570\u6C42\u548C\u201D\u95EE\u9898\u4E2D\u4F53\u73B0\u5F97\u6DCB\u6F13\u5C3D\u81F4\uFF1A\u56E0\u4E3A\u6570\u7EC4\u6709\u5E8F\uFF0C\u6240\u4EE5\u6211\u4EEC\u53EF\u4EE5\u7528\u4E24\u4E2A\u6307\u9488\u201C\u753B\u5730\u4E3A\u7262\u201D\u5708\u51FA\u4E00\u4E2A\u8303\u56F4\uFF0C\u8FD9\u4E2A\u8303\u56F4\u4EE5\u5916\u7684\u503C\u4E0D\u662F\u592A\u5927\u5C31\u662F\u592A\u5C0F\u3001\u76F4\u63A5\u88AB\u6392\u9664\u5728\u6211\u4EEC\u7684\u5224\u65AD\u903B\u8F91\u4E4B\u5916\uFF0C\u8FD9\u6837\u6211\u4EEC\u5C31\u53EF\u4EE5\u628A\u65F6\u95F4\u82B1\u5728\u771F\u6B63\u6709\u610F\u4E49\u7684\u8BA1\u7B97\u548C\u5BF9\u6BD4\u4E0A\u3002\u5982\u6B64\u4E00\u6765\uFF0C\u4E0D\u4EC5\u8282\u7701\u4E86\u8BA1\u7B97\u7684\u65F6\u95F4\uFF0C\u66F4\u964D\u4F4E\u4E86\u95EE\u9898\u672C\u8EAB\u7684\u590D\u6742\u5EA6\uFF0C\u6211\u4EEC\u505A\u9898\u7684\u901F\u5EA6\u4E5F\u4F1A\u5927\u5927\u52A0\u5FEB\u3002",paraId:12,tocIndex:4},{value:"\u6BD4\u5982\u8FD9\u79CD\u5C31\u662F\u56DE\u6587\u5B57\u7B26\u4E32 ",paraId:13,tocIndex:5},{value:"yessey",paraId:13,tocIndex:5},{value:",\u540C\u65F6\u53EF\u4EE5\u5229\u7528\u5BF9\u79F0\u7684\u7279\u6027\u6765\u5224\u65AD\u662F\u4E0D\u662F\u56DE\u6587\u5B57\u7B26\u4E32",paraId:13,tocIndex:5},{value:`function isPalindrome(str) {
// \u5148\u53CD\u8F6C\u5B57\u7B26\u4E32
const reversedStr = str
.split('')
.reverse()
.join('');
// \u5224\u65AD\u53CD\u8F6C\u524D\u540E\u662F\u5426\u76F8\u7B49
return reversedStr === str;
}
`,paraId:14,tocIndex:5},{value:"\u771F\u9898\u63CF\u8FF0\uFF1A\u7ED9\u5B9A\u4E00\u4E2A\u975E\u7A7A\u5B57\u7B26\u4E32 s\uFF0C\u6700\u591A\u5220\u9664\u4E00\u4E2A\u5B57\u7B26\u3002\u5224\u65AD\u662F\u5426\u80FD\u6210\u4E3A\u56DE\u6587\u5B57\u7B26\u4E32\u3002",paraId:15,tocIndex:6},{value:`\u793A\u4F8B 1: \u8F93\u5165: "aba"
\u8F93\u51FA: True
\u793A\u4F8B 2:
\u8F93\u5165: "abca"
\u8F93\u51FA: True
\u89E3\u91CA: \u4F60\u53EF\u4EE5\u5220\u9664 c \u5B57\u7B26\u3002
\u6CE8\u610F: \u5B57\u7B26\u4E32\u53EA\u5305\u542B\u4ECE a-z \u7684\u5C0F\u5199\u5B57\u6BCD\u3002\u5B57\u7B26\u4E32\u7684\u6700\u5927\u957F\u5EA6\u662F 50000\u3002`,paraId:16,tocIndex:6},{value:`const validPalindrome = function(s) {
// \u7F13\u5B58\u5B57\u7B26\u4E32\u7684\u957F\u5EA6
const len = s.length;
// i\u3001j\u5206\u522B\u4E3A\u5DE6\u53F3\u6307\u9488
let i = 0,
j = len - 1;
// \u5F53\u5DE6\u53F3\u6307\u9488\u5747\u6EE1\u8DB3\u5BF9\u79F0\u65F6\uFF0C\u4E00\u8D77\u5411\u4E2D\u95F4\u524D\u8FDB
while (i < j && s[i] === s[j]) {
i++;
j--;
}
// \u5C1D\u8BD5\u5224\u65AD\u8DF3\u8FC7\u5DE6\u6307\u9488\u5143\u7D20\u540E\u5B57\u7B26\u4E32\u662F\u5426\u56DE\u6587
if (isPalindrome(i + 1, j)) {
console.log('zhix');
return true;
}
// \u5C1D\u8BD5\u5224\u65AD\u8DF3\u8FC7\u53F3\u6307\u9488\u5143\u7D20\u540E\u5B57\u7B26\u4E32\u662F\u5426\u56DE\u6587
if (isPalindrome(i, j - 1)) {
console.log('mzhix');
return true;
}
// \u5DE5\u5177\u65B9\u6CD5\uFF0C\u7528\u4E8E\u5224\u65AD\u5B57\u7B26\u4E32\u662F\u5426\u56DE\u6587
function isPalindrome(st, ed) {
while (st < ed) {
if (s[st] !== s[ed]) {
return false;
}
st++;
ed--;
}
return true;
}
// \u9ED8\u8BA4\u8FD4\u56DE false
return false;
};
console.log(validPalindrome('abcbac'));
`,paraId:17,tocIndex:6}]}}]);