Oliver Eyton-Williams ee1e8abd87
feat(curriculum): restore seed + solution to Chinese (#40683)
* 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>
2021-01-12 19:31:00 -07:00

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;
}