剑指offer
南柯code
这个作者很懒,什么都没留下…
展开
-
打印1~n的数字
因为牛客网上无该题,以及LeetCode网该题的更改(让该题无意义),所以在此记录题目:输入数字n,按照顺序打印出从1到最大的n位十进制数。比如输入3,则打印从1到999的数字注意,当该题的n足够大时Long的范围都无发表示。思路使用全排列的思想将从1到n-1位9的数字存入char数组中,因为使用全排列所以使用递归的思想。package Coding;public class Print_n { public void PrintToMaxOfDigit (int number原创 2020-05-12 21:26:03 · 807 阅读 · 0 评论 -
数组替换
对于替换数组中某一些内容时,如果题目要求为不能改变原数组(原数组长度足够长),一个时间复杂度为O(n)的算法为从数组后往前开始替换。扩展:对于两个有序数组(字符串)合并也可以使用该算法。...原创 2020-05-03 21:41:09 · 2318 阅读 · 0 评论 -
剑指Offer面试题四
问题描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。题解思路:注:以坐标作为当前位置。选取数组右上角的元素为坐标的初始位置,如果元素等于要查找的数字,那么查找结束;如果该元素大于要查找的数字,那么代表该元素所在的这一列都大于目标数字,...原创 2020-04-23 21:36:48 · 149 阅读 · 0 评论 -
面试题三题目二
题目概述:在一个长度为n+1的数组里的所有数字都在1~n的范围内,所以数组中至少有一个数字是重复的。请找出数组中任意一个重复的数字,但不能修改输入的数组。例如,如果输入长度为8的数组{2,3,5,4,3,2,6,7}那么对应的输出是重复的数字2或者3.题目分析:数组一定包含重复的数字,数组不允许改变,数组内的数字从1开始.初步想法:使用一个空间复杂度为O(n)的辅助数组temp[n + 2...原创 2020-04-22 21:18:51 · 190 阅读 · 0 评论 -
剑指offer面试题3题目一
找出数组中重复的数字 内容仅为个人学习所用,如发现错误或不足之处恳请指出。 题目描述:在一个长度为n的数组里的所有数字都在0~n-1的范围内。数组中的某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意...原创 2019-11-04 18:24:52 · 231 阅读 · 2 评论