剑指offer II 1整数除法
思路:如果被除数最多大于除数*2^k倍,那么将被除数减去除数的2^k倍,然后将剩余的被除数重复之前的步骤。每次除数翻倍,时间复杂度为O(log n)。
step 1:如果dividend为整数最大值,被除数为-1返回INT_MAX;
step 2: 定义negative = 2; 负负得正,当negative = 1时,则取相反符号。
step 3: 每次减去被除数最多大于除数*2^k,并累加result。

剑指offer II 2 二进制加法
思路:将两个数字右端对齐,然后从他们的个位开始从右向左想加同一位置的两个数,如果有进位还要加上进位。
剑指offer II 5 单词长度的最大乘积
思路:用一个长度为26的布尔型数组来模拟哈希表,判断两个word之间有无相同字符。

本文解析了剑指Offer II中的三个算法题,包括整数除法的O(logn)时间复杂度实现方法,二进制加法的逐位相加及进位处理策略,以及求解两个单词长度最大乘积的高效算法。
369

被折叠的 条评论
为什么被折叠?



