首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【golang】剑指offer 最大n位数

作者 | 陌无崖 转载请联系授权 题目要求 打印一个n位的最大整数,如3位999,4位9999 思路一 分析题目可知n位的最大数一定是n个9组成,举例 n = 1时 max = 9 n = 2时 max...n位数 ,若n为3,则9 *10 +9 = 99 ,99 *10 +9 sum := int64(9) for i := int64(0); i < n-1; i++ {...// 求最大值用左移操作符,提升效率,64位成2^62 max := int64(1<<63 - 1) // 求出ma下对应的最大位数,先将max转换成sting smax...,如果题目要求在打印最大值的基础上模拟数字的加法来计算呢?...对于这个思路我们不防换一种思路求解,对于n位数中的每一位,都是对1~9的全排列,因此我们可以利用全排列+递归的解法,之前的文章已经阐述过相关全排列,这里我们只需要打印出n位数的每一位的全排列的组合即可,

44310
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    打印从1到最大的n位数

    经过一番调整走出来了,心态调整好了,后续将保持正常的学习进度 前言 有一个数字n,我们需要按照顺序输出从1到最大的n位十进制数,例如:n = 3,则输出1、2、3...一直到最大的3位数999。...循环解法 当我们过一眼这个问题后,脑海中想到的第一个思路肯定是: 先求出这个最大的n位数 用一个循环从1开始逐个打印至最大的n位数 很轻松就能写出如下所示的代码: export default class...-1位置的值,就是n位数最大值 for (let i = 1; i < maxNumber; i++) { console.log(i); } } } 这段代码乍一看没啥问题...,填充数组其他位置的元素,即除最大位外的其他位 递归函数的实现 计算下一位,填充数组下一位的值。...继续执行递归函数 接受三个参数:数字位数组、数字的总位数、当前位 基线条件:当前位是最大位的前一位 从0遍历至9,进入循环: 我们举个例子,通过一个图来描述下上述思路的执行过程,我们用n来描述所求位数

    67630

    python求解中位数、均值、众数

    对于有限的数集,可以通过把所有观察值高低排序后找出正中间的一个作为中位数。如果观察值有偶数个,则中位数不唯一,通常取最中间的两个数值的平均数作为中位数。...一个数集中最多有一半的数值小于中位数,也最多有一半的数值大于中位数。如果大于和小于中位数的数值个数均少于一半,那么数集中必有若干值等同于中位数。...在离散概率分布中,众数是指概率质量函数有最大值的数据,也就是最容易取様到的数据。在连续概率分布中,众数是指机率密度函数有最大值的数据,也就是机率密度函数的峰值。...分布中的众数不一定只有一个,若概率质量函数或机率密度函数在x1, x2……等多个点都有最大值,就会有多个众数,最极端的情形是离散型均匀分布,所有的点概率都相同,所有的点都是众数。...若机率密度函数有数个局部最大值,一般会将这几个极值都称为众数,此连续机率分布会称为多峰分布(和单峰性相反)。若是对称的单峰分布(例如正态分布),众数和平均数、中位数会重合[1]。

    2.4K30

    Python保留指定位数的小数

    Python保留指定位数的小数 1 ’%.2f’ %f 方法(推荐) 2 format函数(推荐) 3 round()函数 4 不进行四舍五入,直接进行截断 1 ’%.2f’ %f 方法(推荐) f...和python3里面的坑还不太一样,在此简单描述一下python3对应的坑的情况。...(1)通过上面的函数,看着是不是很晕,感觉round(x,n)函数是否进位也没看出是啥规律 (2)round(x,n)函数中,是否进位或四舍五入,取决于n位以及n+1位小数的值 (3)只有当n+1位数字是...5的时候,容易混淆,如果n为偶数,则n+1位数是5,则进位,例如round(1.23456,3)最终变为1.235 (4)如果n为奇数,则n+1位是数5,那不进位,例如round(2.355,2),最终为...#保留三位小数截断 python3 print(int(1.23456 * 1000) / 1000 ) (2) 使用字符串截取,截取小数点后指定的位数 原文链接: python中小数点后取2位(

    1.8K10
    领券