(断言)leecode
1. 两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现
你可以按任意顺序返回答案
ts
function twoSum(nums: number[], target: number): number[] {
for(let i= 0; i <= nums.length; i++){
const index = nums.indexOf(target-nums[i],i+1)
if( index!==-1 ) return [i,index]
}
return []
}
function twoSum(nums: number[], target: number): number[] {
for(let i= 0; i <= nums.length; i++){
const index = nums.indexOf(target-nums[i],i+1)
if( index!==-1 ) return [i,index]
}
return []
}
7.整数反转
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果
如果反转后整数超过 32 位的有符号整数的范围 [−2 31次方, 2 31次方 − 1] ,就返回 0
假设环境不允许存储 64 位整数(有符号或无符号)
ts
// 假设环境不允许存储 64 位整数的意思是不能使用变量存储 64 位整数
function reverse(x: number): number {
if(x == 0) return x
var flag = x > 0 ? true : false
var num:number =Number((Math.abs(x)+'').split('').reverse().join(''))
var limit = Math.pow(2,31)
if(!flag && num > limit){
return 0
}
if(flag && num > (limit - 1)){
return 0
}
return flag?num:-num
}
// 假设环境不允许存储 64 位整数的意思是不能使用变量存储 64 位整数
function reverse(x: number): number {
if(x == 0) return x
var flag = x > 0 ? true : false
var num:number =Number((Math.abs(x)+'').split('').reverse().join(''))
var limit = Math.pow(2,31)
if(!flag && num > limit){
return 0
}
if(flag && num > (limit - 1)){
return 0
}
return flag?num:-num
}