随笔分类 -  剑指Offer

摘要:题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。 时间复杂度为O(n), 阅读全文
posted @ 2018-08-28 16:23 code4her 阅读(168) 评论(0) 推荐(0)
摘要:题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4] 阅读全文
posted @ 2018-08-22 00:49 code4her 阅读(160) 评论(0) 推荐(0)
摘要:题目描述 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子.. 阅读全文
posted @ 2018-08-21 00:46 code4her 阅读(117) 评论(0) 推荐(0)
摘要:题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 考虑递归求解: 如果第一个矩形竖着放,则剩下2×(n-1)的矩形区域需要覆盖;如果第一个矩形横着放,则剩下2×(n-2)的矩形区域需要覆盖。 public in 阅读全文
posted @ 2018-08-20 22:55 code4her 阅读(111) 评论(0) 推荐(0)
摘要:题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 解法一(效率最高) 数学归纳法: public class Solution { public int JumpFloor(int target) { if(target 阅读全文
posted @ 2018-08-20 21:23 code4her 阅读(192) 评论(0) 推荐(1)
摘要:题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 public class Solution { public boolean Find(int 阅读全文
posted @ 2018-08-20 15:47 code4her 阅读(110) 评论(0) 推荐(0)
摘要:题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 public class Solution { public String replaceSpace(StringBuffer s 阅读全文
posted @ 2018-08-20 15:45 code4her 阅读(86) 评论(0) 推荐(0)