剑指offer
剑指offer题目分析
Two_Fly
这个作者很懒,什么都没留下…
展开
-
二维数组中的查找
二维数组中的查找 题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 数据范围 二维数组中元素个数范围[0,1000] 样例 输入数组: [ [1,2,8,9], [2,4,9,12], [4,7,10,13], [6,8,11,15] ] 如果输入查找数值为7,则返回true, 如果输入查找数值为5,则返回false。 题解 根据题意,我们可知,所给的二原创 2022-03-04 22:00:41 · 730 阅读 · 0 评论 -
不修改数组找出重复的数字
不修改数组找出重复的数字 题目描述 给定一个长度为 n+1的数组nums,数组中所有的数均在1∼n的范围内,其中 n≥1。 请找出数组中任意一个重复的数,但不能修改输入的数组。 数据范围 1≤n≤1000 样例 给定 nums = [2, 3, 5, 4, 3, 2, 6, 7]。 返回 2 或 3。 思考题:如果只能使用 O(1)的额外空间,该怎么做呢? 题解 抽屉原理:如有n+1个元素放到n个集合中去,其中必定有一个集合里至少有两个元素 本题可以用抽屉原理去做,根据题意:将n+1个数的范围在1~n,原创 2022-02-09 22:06:55 · 373 阅读 · 0 评论 -
找出数组中重复的数字
找出数组中重复的数字 题目描述 给定一个长度为 n 的整数数组 nums,数组中所有的数字都在 0∼n−10∼n−1 的范围内。 数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。 请找出数组中任意一个重复的数字。 注意:如果某些数字不在 0∼n−1 的范围内,或数组中不包含重复数字,则返回 -1; 数据范围 0≤n≤10000≤n≤1000 样例 给定 nums = [2, 3, 5, 4, 3, 2, 6, 7]。 返回 2 或 3。 题解 思路:一个萝卜一个坑:即该数组原创 2022-02-08 23:21:53 · 193 阅读 · 0 评论