数组高频面精讲_七月算法出品终稿.ppt

数组高频面试题精讲 七月算法 曹鹏 2015年4月22日 */16 提纲 数组简介 面试题总体分析 选题原则 难度 经典(常见) 新颖 一些例题 例1 局部最小值 例2 第一个缺失的正整数 例3 元素间的最大距离 例4 只出现一次的数 例5 众数问题 例6 “前缀和”的应用 总结 数组简介 数组(array) java : [], ArrayList C++ : STL vector, [] C: 只有[] 理解:输入的数组通常理解为集合,我们自己可以排序,查找 注意 C++ STL中vector的一种实现 数组下标是一种特殊的hash…做计数 理解数组与map 给数组“顺序” */16 面试题总体分析 查找和排序 二分查找 元素交换 排序,中位数 归并 位运算 前缀和的应用 动态规划 排列组合 */16 例1 局部极小值 例1 一个给定的不包含相同元素的整数数组,每个,局部极小值的定义是一个值比左右相邻的(如果存在)都小的值,求它的一个局部最小值 (国外某公司面试题) 分析: 局部最小值的存在性,全部数组的最小值显然是一个解。 O(n)? 我们规定数组下标a[1..n],并定义a[0] = a[n + 1] = ∞, 我们有a[1] a[0], a[n] a[n + 1] 结论: 子数组a[x..y] 若 a[

文档评论(0)

1亿VIP精品文档

相关文档