重要:下文所有代码均可在 https://gitee.com/ecloudstudio/codes/160punhvq8c52tz3srejd11 获取。
1.寻找数组的中心索引
题目:
思路:
传统的思路是逐个遍历元素,获取其左侧和右侧的元素之和比较。但这样每次都需要进行几乎全部元素的求和,效率比较低。所以可以先一次性求和,然后每次往后移动一个位置,就更新一次左右元素的和,只需要一次加法和一次减法,比起重新求和要快得多。
代码:
2.搜索插入位置
题目
思路
传统思路应当是直接遍历了。不过当数据量很大的时候,直接遍历效率感人。这时候当然要用经典的二分算法了。不过二分算法需要严格控制边界条件,不要漏掉元素或者越界。
代码
3.最长公共前缀
题目
思路
以某一个字符串为基准,每次读取一个字符作为参照,然后和其他字符串上对应位置的字符做对比……没有任何花样的基本算法。
代码
总的心得:不难,但是要用点心。是一个比较好的强化计算算法思维的机会。