* feat(tools): add seed/solution restore script * chore(curriculum): remove empty sections' markers * chore(curriculum): add seed + solution to Chinese * chore: remove old formatter * fix: update getChallenges parse translated challenges separately, without reference to the source * chore(curriculum): add dashedName to English * chore(curriculum): add dashedName to Chinese * refactor: remove unused challenge property 'name' * fix: relax dashedName requirement * fix: stray tag Remove stray `pre` tag from challenge file. Signed-off-by: nhcarrigan <nhcarrigan@gmail.com> Co-authored-by: nhcarrigan <nhcarrigan@gmail.com>
2.1 KiB
2.1 KiB
id, title, challengeType, videoUrl, dashedName
id | title | challengeType | videoUrl | dashedName |
---|---|---|---|---|
596e457071c35c882915b3e4 | 比较字符串列表 | 5 | compare-a-list-of-strings |
--description--
给定一个任意多个字符串的列表 ,为以下每个条件实现一个函数:
测试它们是否都是词法上相等的测试,如果每个字符串在词法上小于它之后的字符串(即列表是否按严格的升序排列)--hints--
allEqual
是一个函数。
assert(typeof allEqual === 'function');
azSorted
是一个函数。
assert(typeof azSorted === 'function');
allEqual(["AA", "AA", "AA", "AA"])
返回true。
assert(allEqual(testCases[0]));
azSorted(["AA", "AA", "AA", "AA"])
返回false。
assert(!azSorted(testCases[0]));
allEqual(["AA", "ACB", "BB", "CC"])
返回false。
assert(!allEqual(testCases[1]));
azSorted(["AA", "ACB", "BB", "CC"])
返回true。
assert(azSorted(testCases[1]));
allEqual([])
返回true。
assert(allEqual(testCases[2]));
azSorted([])
返回true。
assert(azSorted(testCases[2]));
allEqual(["AA"])
返回true。
assert(allEqual(testCases[3]));
azSorted(["AA"])
返回true。
assert(azSorted(testCases[3]));
allEqual(["BB", "AA"])
返回false。
assert(!allEqual(testCases[4]));
azSorted(["BB", "AA"])
返回false。
assert(!azSorted(testCases[4]));
--seed--
--after-user-code--
const testCases = [['AA', 'AA', 'AA', 'AA'], ['AA', 'ACB', 'BB', 'CC'], [], ['AA'], ['BB', 'AA']];
--seed-contents--
function allEqual(arr) {
return true;
}
function azSorted(arr) {
return true;
}
--solutions--
function allEqual(a) {
let out = true;
let i = 0;
while (++i < a.length) {
out = out && (a[i - 1] === a[i]);
} return out;
}
function azSorted(a) {
let out = true;
let i = 0;
while (++i < a.length) {
out = out && (a[i - 1] < a[i]);
} return out;
}