题目描述: 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 解题思路: 本题本身没有太多的实际意义,但是可以对程序员的发散思维能力进行考察,进而可以反映出对编程相关技术理解的深度 ...
本文参考自 剑指offer 一书,代码采用Java语言。 更多: 剑指Offer Java实现合集 题目 求 n,要求不能使用乘除法 for while if else switch case等关键字及条件判断语句 A B:C 。 思路 不能使用乘除法,不能使用循环语句 判断语句。可以考虑的有 单目运算符: 和 ,双目运算符: , ,移位运算符 lt lt 和 gt gt ,关系运算符 gt , ...
2018-11-16 19:45 0 696 推荐指数:
题目描述: 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 解题思路: 本题本身没有太多的实际意义,但是可以对程序员的发散思维能力进行考察,进而可以反映出对编程相关技术理解的深度 ...
本文参考自《剑指offer》一书,代码采用Java语言。 更多:《剑指Offer》Java实现合集 题目 输入数字n,按顺序打印出从1最大的n位十进制数。比如输入3,则打印出1、2、3一直到最大的3位数即999。 思路 陷阱:n过大时是大数问题,不能简单用int或者long ...
本文参考自《剑指offer》一书,代码采用Java语言。 更多:《剑指Offer》Java实现合集 题目 把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。 思路 对于n个骰子,要计算出每种点数和的概率,我们知道投掷n个骰子 ...
1、 代码托管在我的Github上面:https://github.com/DanielJyc/SwordOffer 2、 《剑指Offer》这本书挺不错,难度适中,思路清晰,并讲到了细节问题;对于面试软件研发的人都应该仔细看看。 原书使用C/C++实现,我决定用Java按照书上的思路重写 ...
题意: 给定一个整数n,求1~n这n个整数中十进制表示中1出现的次数。 思路: 方法1:最直观的是,对于1~n中的每个整数,分别判断n中的1的个数,具体见《剑指offer》。这种方法的时间复杂度为O(N*logN),当N比较大的时候,一般会超时。 方法2:这种类别的题目 ...
本文参考自《剑指offer》一书,代码采用Java语言。 更多:《剑指Offer》Java实现合集 题目 输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。例如输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次。 思路 如果是 ...
本文参考自《剑指offer》一书,代码采用Java语言。 更多:《剑指Offer》Java实现合集 题目 请实现一个函数,把字符串中的每个空格替换成"%20"。例如输入“We are happy.”,则输出“We%20are%20happy.”。 思路 首先要询问面试官是新建 ...
本文参考自《剑指offer》一书,代码采用Java语言。 更多:《剑指Offer》Java实现合集 题目 给你一根长度为n绳子,请把绳子剪成m段(m、n都是整数,n>1并且m>1)。每段的绳子的长度记为k[0]、k[1]、……、k[m]。k[0]*k[1]*…*k[m]可能的最大 ...