给定一个 32 位有符号整数,将整数中的数字进行反转,当颠倒后的整数溢出时,返回 0。当尾数为0时候需要进行舍去,总结为下:
1.反转后可能溢出,此时应该返回0;
2.关于尾数为0时,应舍去;
示例 1:
输入: 123 --》》 输出: 321
示例 2:
输入: -123
--》》 输出: -321
示例 3:
输入: 120 --》》 输出: 21
注意:
假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−2^31, 2^31 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。
整数溢出的值为Math.pow(2, 31) - 1和Math.pow(-2, 31) + 1,转为数字:2147483647和-2147483647
1、转数组操作:
const reverseInteger = (n) => {
if (n < 0) {
n = n.toString().split('-')[1]; // 负数提取数字
n = '-' + [...n].reverse().join('');
n = +n; // 转数字
} else {
n = n.toString(); // 转字符
n = +[...n].reverse().join(''); // 转为数组 颠倒数组 再合字符 最后转数字
}
if (n >= Math.pow(2, 31) - 1 || n <= Math.pow(-2, 31) + 1) { // 判断溢出
return 0;
}
return n;
}
reverseInteger(1234560) //654321
2、遍历,一位一位颠倒
const reverseInteger = function (n) {
if (n === 0) return 0;
let res = 0
while (n !== 0) {
// 从个位起一位一位的颠倒
res = res * 10 + n % 10;
n = parseInt(n / 10); // n除以10, 一位数转化完成 到最后小于1 被转成0 退出循环
}
if (res >= 2147483647 || res <= -2147483647) {
return 0;
}
return res;
}
PageRank,网页排名,又称网页级别、Google左侧排名或佩奇排名,是一种由 根据网页之间相互的超链接计算的技术,而作为网页排名的要素之一,以Google公司创办人拉里·佩奇(Larry Page)之姓来命名。
使用原生js将一维数组中,包含连续的数字分成一个二维数组,这篇文章分2种情况介绍如何实现?1、过滤单个数字;2、包含单个数字。
通过两个for循环,每一次对比相邻两个数据的大小,小的排在前面,如果前面的数据比后面的大就交换这两个数的位置,这个方法就是比较次数太多了,效率比较低。
对于今天的算法,我们要写一个叫做 utopianTree 的函数,它只接受一个输入:一个整数 n。我们有一棵乌托邦树,每年要经历2个增长周期。在春季,高度增加一倍,在夏季,高度增加1(无论您要使用哪种测量系统)
一小段字母文本可以手动输入进行字母大小写的改变,如果是一大段文本只好借助程序来实现,中字母大小写转换是基本功能。 返回一个字符串,确保字符串的每个单词首字母都大写,其余部分小写
学算法,刷题蛮干是不行的,需要遵循科学的方法。以下的经验技巧,对于算法新手,或大学没有搞过ACM,想利用业余时间提升算法能力的同学比较有帮助,对于算法高手和ACM大牛
这篇文章主要是针对一种最常见的非对称加密算法——RSA算法进行讲解。其实也就是对私钥和公钥产生的一种方式进行描述,RSA算法的核心就是欧拉定理,根据它我们才能得到私钥,从而保证整个通信的安全。
给定两个有序整数数组arr1和arr2,将 arr2和arr1进行合并为一个单调非递减的数组,并将其输出。方法一利用循环、方法二直接使用数组的sort方法。
不管是打印什么样三角形九九乘法表,我们都应该找到有规律的地方,比如第一列的数字是什么规律,第一行的数字是什么规律,只要找到了共性,九九乘法表就很简单
不改变原数组,返回新数组(字符串);改变原数组;遍历方法;ES6语法Map键值对转化为数组;两个升序的数组合并成一个升序数组;数组重复问题;两个数组的交集;找出一个数组中只出现一次的数字
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!