【剑指offer】10.程序的完整性

12次阅读

共计 691 个字符,预计需要花费 2 分钟才能阅读完成。

题目 1 数值的整数次方
给定一个 double 类型的浮点数 base 和 int 类型的整数 exponent。求 base 的 exponent 次方。
思路
这道题逻辑上很简单,但很容易出错。
关键是要考虑全面,考虑到所有情况。
exponent 是正,负,0 的情况
base 为 0 的情况。
代码
function Power(base, exponent) {
if (exponent === 0) {
return 1;
} else {
if (exponent > 0) {
var result = 1;
for (let i = 0; i < exponent; i++) {
result *= base;
}
return result;
} else if (exponent < 0) {
var result = 1;
for (let i = 0; i < Math.abs(exponent); i++) {
result *= base;
}
return result ? 1 / result : false;
}
}
}
题目 2 调整数组顺序使奇数位于偶数前面
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
代码
function reOrderArray(array) {
var odd = [];
var even = [];
for (var i = 0; i < array.length; i++) {
const element = array[i];
if (element === 0 || element % 2 === 0) {
even.push(element);
} else {
odd.push(element);
}
}
return odd.concat(even);
}

正文完
 0