算法题:打印1到最大的n位数】的更多相关文章

在练习剑指offer的时候,第12题打印1到最大的n位数的时候,想找个java版的,但大家要么用BigInteger做,要么给出其他的方法.我觉得要给就给最好的方法,下面是我自己参考C++代码写的java版的全排列方法. 代码: public class Quanpaixu { public static void print1ToMaxOfNDigits(int n){ if(n<=0) { return; } //生成相应位数大小的数组 int[] number = new int[n];…
说明:本文仅供学习交流,转载请标明出处,欢迎转载!        今天看到剑指offer上的第12题,题目例如以下:        输入数字n.按顺序打印出从1到最大的n位十位数. 比方输入3,则打印出1,2,3,...,999.        当我看到这个题目的时候.第一感觉就是用递归,为什么呢?首先得从我们的一个实际数字出发,比方123.我们对数字加1,实际上分为例如以下两个步骤:        步骤1:最低位加1:        步骤2:若发生进位,则向更高位传播该进位的影响(这也是递归的…
题目: 打印1到最大的n位数.如n=4,打印1-9999. 思路: 由于直接使用循环会导致int或者long long都不够存储.因此使用字符串来存储数据,这里涉及到数字转换成字符串以及字符串的加法. 代码: 1.使用递归思路. 可以认为.从高位到低位,高位数先固定,在此情况下,低位数依次调整.每一位涉及0-9调整,这里每一级的都要嵌套10次. void printMax(char* number,const int index,const int size){//嵌套打印函数,size为总的位…
python几道简单的算法题   最近看了python的语法,但是总感觉不知道怎么使用它,还是先来敲敲一些简单的程序吧. 1.题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去掉不满足条件的排列. if __name__ == "__main__": s = (1,2,3,4) for a in s: for b in s: for c in s: if a != b and…
为了提高自己的代码能力和算法能力,我决定每天学习一道算法题,吸收前辈思想. [程序1] TestRabbit.java 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析:兔子数量的规律为数列:1,1,2,3,5,8,13.....其实就是斐波那契数列  使用递归就可以实现 /** * 兔子问题 * 2016/5/9 * 斐波那契数列求值 *题目:古典问题:有一对兔子,从出生后第3个月起每…
从今年 3 月份开始准备找实习,到现在校招结束,申请的工作均为机器学习/数据挖掘算法相关职位,也拿到了几个 sp offer.经历这半年的洗礼,自己的综合能力和素质都得到了一个质的提升. 实话说对于未来去哪里,即将如何发展还没有清晰的规划.迷茫总是会有的,但这并不是停止脚步的理由.找工作是在漫长的职业生涯中时常出现的转折点,而学习和和积累是终生的任务.这里不打算对这一段时间的各项细节和收获展开太多讨论,后续将会专门进行整理. 本文主要是对<剑指 offer>这本面试经典进行一个小结,也是未来继…
这是悦乐书的第262次更新,第275篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第129题(顺位题号是561).给定一个2n个整数的数组,你的任务是将这些整数分组为n对整数,比如说(a1,b1),(a2,b2),...,(an,bn),找出每对(ai, bi)中最小值,然后相加,使得其和最大.例如: 输入:[1,4,3,2] 输出:4 说明:n为2,对的最大总和为4 = min(1,2)+ min(3,4). 注意: n是正整数,其范围为[1,10000]. 数组…
这是悦乐书的第226次更新,第239篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第93题(顺位题号是434).计算字符串中的段数,其中段定义为非空格字符的连续序列.请注意,该字符串不包含任何不可打印的字符.例如: 输入:"Hello, my name is John" 输出:5 本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试. 02 第一种解法 使用正则表达式,将其拆分成字符串数组…
[经典算法题]寻找数组中第K大的数的方法总结 责任编辑:admin 日期:2012-11-26   字体:[大 中 小] 打印复制链接我要评论   今天看算法分析是,看到一个这样的问题,就是在一堆数据中查找到第k个大的值.   名称是:设计一组N个数,确定其中第k个最大值,这是一个选择问题,当然,解决这个问题的方法很多,本人在网上搜索了一番,查找到以下的方式,决定很好,推荐给大家.       所谓“第(前)k大数问题”指的是在长度为n(n>=k)的乱序数组中S找出从大到小顺序的第(前)k个数的…
简单的PHP算法题 目录 1.只根据n值打印n个0 2.根据n值打印一行 0101010101010101010101…… 3.根据n值实现1 00 111 0000 11111…… 4.根据n值实现0 01 010 0101…… 5.根据n值实现0 01 012 0123 3210 210 10 0…… 6.可用两位参数进行加减乘除的四位一体计算函数 只打印0 具体个数由输入的参数n决定 如n=5就打印00000 <?php $n = $_GET['n']; for ($i=0; $i <…