2018-10-10 18:03:03 -04:00
|
|
|
|
---
|
|
|
|
|
id: 596e457071c35c882915b3e4
|
2020-12-16 00:37:30 -07:00
|
|
|
|
title: 比较字符串列表
|
2018-10-10 18:03:03 -04:00
|
|
|
|
challengeType: 5
|
|
|
|
|
videoUrl: ''
|
2021-01-13 03:31:00 +01:00
|
|
|
|
dashedName: compare-a-list-of-strings
|
2018-10-10 18:03:03 -04:00
|
|
|
|
---
|
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
# --description--
|
|
|
|
|
|
2021-01-13 03:31:00 +01:00
|
|
|
|
<p>给定一个任意多个字符串的<a href='https://en.wikipedia.org/wiki/List_(abstract_data_type)' title='wp:List_(abstract_data_type)'>列表</a> ,为以下每个条件实现一个函数: </p>测试它们是否都是词法上相等的测试,如果每个字符串在词法上小于它之后的字符串(即列表是否按严格的升序排列)
|
2020-12-16 00:37:30 -07:00
|
|
|
|
|
|
|
|
|
# --hints--
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
`allEqual`是一个函数。
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
assert(typeof allEqual === 'function');
|
2018-10-10 18:03:03 -04:00
|
|
|
|
```
|
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
`azSorted`是一个函数。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
```js
|
|
|
|
|
assert(typeof azSorted === 'function');
|
|
|
|
|
```
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
`allEqual(["AA", "AA", "AA", "AA"])`返回true。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
|
|
|
|
```js
|
2020-12-16 00:37:30 -07:00
|
|
|
|
assert(allEqual(testCases[0]));
|
|
|
|
|
```
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
`azSorted(["AA", "AA", "AA", "AA"])`返回false。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
```js
|
|
|
|
|
assert(!azSorted(testCases[0]));
|
2018-10-10 18:03:03 -04:00
|
|
|
|
```
|
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
`allEqual(["AA", "ACB", "BB", "CC"])`返回false。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
```js
|
|
|
|
|
assert(!allEqual(testCases[1]));
|
|
|
|
|
```
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
`azSorted(["AA", "ACB", "BB", "CC"])`返回true。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
|
|
|
|
```js
|
2020-12-16 00:37:30 -07:00
|
|
|
|
assert(azSorted(testCases[1]));
|
2018-10-10 18:03:03 -04:00
|
|
|
|
```
|
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
`allEqual([])`返回true。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
```js
|
|
|
|
|
assert(allEqual(testCases[2]));
|
|
|
|
|
```
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
`azSorted([])`返回true。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
|
|
|
|
```js
|
2020-12-16 00:37:30 -07:00
|
|
|
|
assert(azSorted(testCases[2]));
|
2018-10-10 18:03:03 -04:00
|
|
|
|
```
|
2020-08-13 17:24:35 +02:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
`allEqual(["AA"])`返回true。
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
assert(allEqual(testCases[3]));
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
`azSorted(["AA"])`返回true。
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
assert(azSorted(testCases[3]));
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
`allEqual(["BB", "AA"])`返回false。
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
assert(!allEqual(testCases[4]));
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
`azSorted(["BB", "AA"])`返回false。
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
assert(!azSorted(testCases[4]));
|
|
|
|
|
```
|
|
|
|
|
|
2021-01-13 03:31:00 +01:00
|
|
|
|
# --seed--
|
|
|
|
|
|
|
|
|
|
## --after-user-code--
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
const testCases = [['AA', 'AA', 'AA', 'AA'], ['AA', 'ACB', 'BB', 'CC'], [], ['AA'], ['BB', 'AA']];
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## --seed-contents--
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
function allEqual(arr) {
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function azSorted(arr) {
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
# --solutions--
|
|
|
|
|
|
2021-01-13 03:31:00 +01:00
|
|
|
|
```js
|
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
```
|