原文:数字序列中某一位数字(《剑指offer》面试题44)

由于这道题目在牛客上没有,所以在此记录一下。 一.题目大意: 数字以 的格式序列化到一个字符序列中。在这个序列中,第 位 从 开始计数,即从第 位开始 是 ,第 位是 ,第 位是 ,等等。请写一个函数,求任意第n位对应的数字。 二.题解 剑指offer 上提供了两种思路。 方法 : 第一种思路是:从 开始枚举每个数字。每枚举一个数字的时候,求出该数字是几位 如 是 位数 是 位数 ,并把该数字的位 ...

2018-04-27 17:30 0 1295 推荐指数:

查看详情

【Java】 offer(44) 数字序列某一位数字

本文参考自《offer》一书,代码采用Java语言。 更多:《Offer》Java实现合集 题目    数字以0123456789101112131415…的格式序列化到一个字符序列。在这个序列,第5(从0开始计数)是5,第13是1,第19是4,等等。请写一个函数求任意 ...

Tue Nov 13 03:53:00 CST 2018 0 727
Offer面试题51:数组重复的数字

题目: 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。 思路 ...

Sat Aug 01 04:38:00 CST 2015 0 6355
(python)Offer 面试题51:数组重复的数字

问题描述   在长度为n的数组,所有的元素都是0到n-1的范围内。 数组的某些数字是重复的,但不知道有几个重复的数字,也不知道重复了几次,请找出任意重复的数字。 例如,输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出为2或3。 解题思路 1、判断输入数组有无元素非法 ...

Sat Mar 10 04:32:00 CST 2018 5 2737
Offer面试题:7.旋转数组的最小数字

一、题目:旋转数组的最小数字 题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。   这道题最直观的解法并不 ...

Fri Aug 21 08:18:00 CST 2015 4 7437
Offer面试题38:数字在排序数组中出现的次数

题目: 统计一个数字在排序数组中出现的次数。 思路: 1、顺序遍历 顺序扫描一遍数组,统计该数字出现的次数。 时间复杂度:O(n) 2、二分查找 假设我们需要找的数字是k,那么就需要找到数组的第一个k和最后一个k出现的位置。 如何通过二分查找得到第一个k的位置呢? 取数组中间 ...

Mon Jul 27 02:16:00 CST 2015 0 2030
Offer面试题:32.数字在排序数组中出现的次数

一、题目:数字在排序数组中出现的次数 题目:统计一个数字在排序数组中出现的次数。例如输入排序数组{1,2,3,3,3,3,4,5}和数字3,由于3在这个数组中出现了4次,因此输出4。 二、解题思路 2.1 直接运用二分查找   既然输入的数组是排序的,那么我们很自然地就能想到 ...

Sun Sep 20 19:04:00 CST 2015 0 6130
Offer面试题:35.将字符串转换为数字

一、题目:将字符串转换为数字 题目:写一个函数StrToInt,实现把字符串转换成整数这个功能。当然,不能使用atoi或者其他类似的库函数。 二、代码实现   (1)考虑输入的字符串是否是NULL、空字符串   (2)考虑输入的字符串是否包含正负号或者是否是只包含正负号 ...

Tue Sep 22 06:25:00 CST 2015 4 5884
Offer面试题45:圆圈中最后剩下的数字

题目: 0,1,...n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字,求出这个圆圈里剩下的最后一个数字。 思路: 1、环形链表模拟圆圈 创建一个n个节点的环形链表,然后每次在这个链表删除第m个节点; 可以用std::list来模拟环形链表,list本身不是环形 ...

Thu Jul 30 06:28:00 CST 2015 0 2060
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM