随笔分类 -  算法与数据结构

剑指offer(4)之旋转数组的最小数字
摘要:题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 方法:先递增排序,然 阅读全文
posted @ 2020-03-24 18:31 生长的力量 阅读(91) 评论(0) 推荐(0)
剑指offer(3)之从尾到头打印链表
摘要:题目:输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 方法一:非递归 思路1:先用while循环遍历链表的每一个节点,并把每个节点的值存进ArrayList里,之后反向遍历ArrayList,把值存进另外一个ArrayList里,然后返回 代码如下: 1 import java.ut 阅读全文
posted @ 2020-03-18 21:47 生长的力量 阅读(195) 评论(0) 推荐(0)
剑指offer(2)之替换空格
摘要:题目:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 方法一:遍历字符串,找到空格就替换 代码如下: 1 public class Solution { 2 public String r 阅读全文
posted @ 2020-03-17 21:22 生长的力量 阅读(156) 评论(0) 推荐(0)
剑指offer(1)之二维数组中的查找
摘要:题目: 在一个 n * m 的二维数组(每个一维数组的长度相同)中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 方法一:暴力法: 思路:用两个for循环遍历整个二维数组,一一比对,找到该整数返回 阅读全文
posted @ 2020-03-16 22:53 生长的力量 阅读(165) 评论(0) 推荐(0)