算法-查找
pw8992134
这个作者很懒,什么都没留下…
展开
-
旋转数组的查找
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 最坏时间复杂度总为O(n),无论使用二分查找还是一次遍历,二分时若数组存在mid与头尾相同的元素,此时无法判断最小元素在...原创 2020-02-17 16:05:18 · 539 阅读 · 0 评论 -
字符串替换
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 思路是将字符串循环遍历每个字符,用额外的字符串组装。如果等于空格,则字符串加上“%20”,否则加上原有字符的字符串对象。如果字符串长度为n,则最坏情况为n个字符都为空格。显然最坏时间复杂度为O(n) public static string...原创 2020-02-02 17:54:05 · 3191 阅读 · 0 评论 -
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 O(n)的算法 利用二维数组由上到下,由左到右递增的规律, 那么选取右上角或者左下角的元素a[row][col]与target进行比较, 当target小于元素a[row][col]时,那么target必...原创 2020-02-01 17:18:07 · 155 阅读 · 0 评论