一、 查找字符串中的最长公共前缀
// ⽰例: 输⼊: [“flower”,“flow”,“flight”] 输出: “fl”
<script>
var arr = ['flower', 'flow', 'flight']
var result = ''
for (var i = 0; i < arr[0].length; i++) {
for (var j = 1; j < arr.length; j++) {
if (arr[0][i] != arr[j][i]) {
break;
} else if (arr[0][i] == arr[j][i] && j == arr.length - 1) {
result += arr[0][i]
}
}
}
console.log(result)
</script>
二、给定⼀个按照升序排列的整数数组 nums,和⼀个⽬标值 target。找出给定⽬标值在数组中的开始位置和结束位置。 如果数组中不存在⽬标值,返回 [-1, -1]。
<script>
// 给定⼀个按照升序排列的整数数组 nums,和⼀个⽬标值 target。找出给定⽬标值在数组中的开始位置和结束位置。 如果数组中不存在⽬标值,返回 [-1, -1]。
// ⽰例:
// 输⼊: nums = [5, 7, 7, 8, 8, 10], target = 8, 输出:[3, 4] 输⼊: nums = [5, 7, 7, 8, 8, 10], target = 6, 输出:[-1, -1] 思路: 1. 开始位置 indexOf 2. 结束位置: 翻转数组, 求arr.length - (indexOf + 1)
// 法(一)
// function fn(num) {
// var nums = [5, 7, 7, 8, 8, 10]
// var arr = []
// for (var i = 0; i < nums.length; i++) {
// if(num == nums[i]){
// arr.push(i)
// }
// }
// var arr2 = []
// arr2.push(arr[0])
// arr2.push(arr[arr.length-1])
// console.log(arr2,'arr2-----------')
// }
// fn(8)
// 法(二)
function fn(num) {
var nums = [5, 7, 7, 8, 8, 10]
var arr = []
var first = nums.indexOf(num)
arr.push(first)
var newnums = nums.reverse()
console.log(newnums)
var end = newnums.indexOf(num)
arr.push(newnums.length-end-1)
console.log(arr)
}
fn(8)
</script>
三、 回⽂ 是指把相同的词汇或句⼦, 在下⽂中调换位置或颠倒过来, 产⽣⾸尾回环的情趣, 叫做回⽂,也叫回环。
<script>
// 思路: 将字符串转换成数组, 使用reverse方法对数组进行颠倒,判断颠倒后的两个字符串是否相同
function fn(str){
var arr = str.split('')
var arr2 = arr.reverse()
if(str == arr2.join('')){
console.log(str,'是回文数')
}else{
console.log(str,'不是回文数')
}
}
fn('159951')
</script>
四、去掉⼀组整型数组重复的值 ⽐如输⼊: [1,13,1,24,11,11,14,1,2] 输出: [1,13,24,11,14,2] 需要去掉重复的11 和 1 这两个元素。
<script>
// 示例:去掉⼀组整型数组重复的值 ⽐如输⼊: [1,13,1,24,11,11,14,1,2] 输出: [1,13,24,11,14,2] 需要去掉重复的11 和 1 这两个元素。
// 法一
// function fn(arr) {
// var newarr = []
// for (var i = 0; i < arr.length - 1;) {
// for (var j = i + 1; j < arr.length;) {
// if (arr[i] == arr[j] && j != (arr.length - 1)) {
// arr.splice(j, 1)
// } else if (arr[i] == arr[j] && j == (arr.length - 1)) {
// arr.splice(j, 1)
// i++;
// break;
// } else if (arr[i] != arr[j] && j != (arr.length - 1)) {
// j++;
// } else if (arr[i] != arr[j] && j == (arr.length - 1)) {
// i++;
// break;
// }
// }
// }
// console.log(arr)
// }
// var arr = [1, 13, 1, 24, 11, 11, 14, 1, 2, 8, 13,1]
// fn(arr)
// 法二
// function fn(arr) {
// var arr2 = new Set(arr)
// arr = [...arr2]
// console.log(arr,'arr-----')
// console.log([...arr])
// }
// var arr = [1, 13, 1, 24, 11, 11, 14, 1, 2, 8, 13,1]
// fn(arr)
// 法三
function fn(arr) {
let obj = {
}
for (var i = 0; i < arr.length;i++)