js-practice/test/array/find-in-mountain-array.test.js

31 lines
897 B
JavaScript
Raw Normal View History

2020-04-29 07:54:50 +08:00
import { peakIndexInMountainArray, mountainSequence, findInMountainArray } from '../../src/array/find-in-mountain-array'
test('山脉数组的峰顶索引', () => {
expect(peakIndexInMountainArray([0, 1, 0])).toBe(1)
expect(peakIndexInMountainArray([0, 2, 1, 0])).toBe(1)
})
test('山脉序列中的最大值', () => {
expect(mountainSequence([1, 2, 4, 8, 6, 3])).toBe(8)
expect(mountainSequence([10, 9, 8, 7])).toBe(10)
})
function MountainArray (arr) {
this.arr = arr
// @param {number} index
// @return {number}
this.get = function (index) {
return this.arr[index]
}
// @return {number}
this.length = function () {
return this.arr.length
}
};
test('山脉数组中查找目标值', () => {
expect(findInMountainArray(3, new MountainArray([1, 2, 3, 4, 5, 3, 1]))).toBe(2)
expect(findInMountainArray(3, new MountainArray([0, 1, 2, 4, 2, 1]))).toBe(-1)
})