![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 55
三天打鱼,两天晒网
这个作者很懒,什么都没留下…
展开
-
【算法题】求旋转数组的最小数字,要求时间复杂度为O(logn)
题目描述定义:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。描述:输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。其它:给出的所有元素都大于0,若数组大小为0,请返回0。要求:时间复杂度O(logn)例如:输入:[3,4,5,1,2]输出:1输入:[4,4,5,6,6,7,2,3,4]输出:2思路分析要求时间复杂度为O(logn),首先我们想到的是二分法。mid = low + (high - low)/2我们接下来需要考虑三种情况:1. 第一原创 2021-01-16 20:06:39 · 386 阅读 · 0 评论 -
【剑指offer】从头到尾打印链表(Java)
剑指offer链接:从头到尾打印链表题目描述要求:时间限制:1秒 空间限制:32768K输入一个链表,按链表从尾到头的顺序返回一个ArrayList。前提:ListNode.javapublic class ListNode { int val; ListNode next = null; ListNode(int val) { this.va...原创 2019-11-20 19:33:12 · 349 阅读 · 0 评论 -
【剑指offer】替换空格(Java)
剑指offer链接:替换空格题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。方法一:直接用str.replace()替换。public class Solution { public String replaceSpace(StringBuffer str) {...原创 2019-11-20 18:48:41 · 170 阅读 · 0 评论 -
【剑指offer】二维数组中的查找(Java)
剑指offer链接:二维数组中的查找题目描述(时间限制:1秒 空间限制:32768K)在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。代码块:public class Solution { public boolean Find(int t...原创 2019-11-20 17:10:52 · 299 阅读 · 0 评论 -
【面试题】找出一个字符串中第一个只出现一次的字符的位置
问题:在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).解答:可以用HashMap统计每个字符对应的次数,然后再遍历这个map找出第一个。代码如下:public int FirstNotRepeatingChar(String str) { if (str == null |...原创 2019-03-20 20:19:27 · 7777 阅读 · 0 评论