摘要:
本文参考自《剑指offer》一书,代码采用Java语言。 更多:《剑指Offer》Java实现合集 题目 给定一个数组A[0, 1, …, n-1],请构建一个数组B[0, 1, …, n-1],其中B中的元素B[i] =A[0]×A[1]×… ×A[i-1]×A[i+1]×…×A[n-1]。不能使 阅读全文
摘要:
总结几个位运算的用法 下面举的例子中,a=1010 1010 按位与& (1)清零:a&0=0 (2)取指定位上的数字,如取得数字a的最后四位:a&0000 1111 = 0000 1010 按位或| (1)对某些位置置为1,如将a的后四位置为1:a|0000 1111 = 1010 1111 异或 阅读全文
摘要:
本文参考自《剑指offer》一书,代码采用Java语言。 更多:《剑指Offer》Java实现合集 题目 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、×、÷四则运算符号。 思路 对数字做运算,除了四则运算外,只剩下位运算了。根据一般情况下的加法步骤,设计如下: 1)不考虑进位对每一位相 阅读全文
摘要:
本文参考自《剑指offer》一书,代码采用Java语言。 更多:《剑指Offer》Java实现合集 题目 求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 思路 不能使用乘除法,不能使用循环语句、判断语句。可以考虑 阅读全文
摘要:
本文参考自《剑指offer》一书,代码采用Java语言。 更多:《剑指Offer》Java实现合集 题目 假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖交易该股票可能获得的利润是多少?例如一只股票在某些时间节点的价格为{9, 11, 8, 5,7, 12, 16, 14}。如果我们能在价格 阅读全文
摘要:
本文参考自《剑指offer》一书,代码采用Java语言。 更多:《剑指Offer》Java实现合集 题目 0, 1, …, n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。 思路 方法一:采用链表来存放数据,每次对长度取余来实现循环 将所有 阅读全文
摘要:
本文参考自《剑指offer》一书,代码采用Java语言。 更多:《剑指Offer》Java实现合集 题目 从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王可以看成任意数字。 思路 输入为大小等于5的数组(大小王记 阅读全文
摘要:
本文参考自《剑指offer》一书,代码采用Java语言。 更多:《剑指Offer》Java实现合集 题目 把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。 思路 对于n个骰子,要计算出每种点数和的概率,我们知道投掷n个骰子的总情况一共有6^n种,因此只需 阅读全文