Algorithm:C++/python语言实现之求旋转数组最小值、求零子数组、求最长公共子序列和最长公共子串、求LCS与字符串编辑距离
目录
一、求旋转数组最小值
假定一个排序数组以某个未知元素为支点做了旋转,如:原数组0 1 2 4 5 6 7旋转后得到4 5 6 7 0 1 2。请找出旋转后数组的最小值。假定数组中没有重复数字。
1、分析问题
旋转之后的数组实际上可以划分成两个有序的子数组:前面子数组的大小,都大于后面子数组中的元素;4 5 6 7 0 1 2 注意到,实际上最小的元素就是两个子数组的分界线。
2、解决思路
用两个指针low、high分别指向数组的第一个元素和最后一个元素。如果是正常的排序数组(元素间不重复