我水平不高单考数据结构这本书,那这样复习的话需要看王道吗,还是说去找学校专门的专业课去看因为还没开始先给自己定个计划到时候不易乱了阵脚(大学的时候光玩了,专业课也没学到多少,要是学数据结构的话应该从哪入手该怎么学)感谢!
这个估计还是要刷题,最好是跟着有备考经验的老师练。说实话,现在的考试非常卷,而且出题的人自己又不懂数据结构,所以题目基本都是偏、难、怪甚至错。面对这种题目,你不去刷题了解出题人的意图,单凭对数据结构本身的理解,去考试,肯定吃大亏。
「方法一」 - 枚举(暴力破解):
/**
* @param {number[]} height
* @return {number}
*/
var maxArea = function(height) {
let max = 0
for (let i = 0; i < height.length - 1; i++) {
for (let j = i + 1; j < height.length; j++) {
let area = (j - i) * Math.min(height[i], height[j])
max = Math.max(max, area)
}
}
return max
};
「方法二」 - 双指针:
/**
* @param {number[]} height
* @return {number}
*/
var maxArea = function(height) {
let max = 0
for (let i = 0, j = height.length - 1; i < j; ) {
let minHeight = height[i] < height[j] ? height[i ++] : height[j --]
let area = (j - i + 1) * minHeight
max = Math.max(max, area)
}
return max
};