前端算法实例(一)

1.给定两个数组,编写一个函数来计算它们的交集

2.给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍

3.给出一个 32 位的有符号整数,将这个整数中每位上的数字进行反转。

注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2的31次方,  2的31次方 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。

4.判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

输入: 121 输出: true

输入: -121 输出: false

5.给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。

有效字符串需满足:

左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。

利用栈:遇到左括号,一律推入栈中,遇到右括号,将栈顶部元素拿出,如果不匹配则返回 false,如果匹配则继续循环。

6.一个数组 nums 和一个值 val, 在不使用额外空间的前提下,移除所有数值等于 val 的元素,并返回移除后数组的新长度。

示例:给定 nums = [0,1,2,2,3,0,4,2], val = 2,

函数应该返回新的长度 5, 并且 nums 中的前五个元素为 0, 1, 3, 0, 4

7.给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。

如果不存在,则返回  -1。

8.给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

输入: [1,3,5,6], 5 输出: 2

输入: [1,3,5,6], 2 输出: 1

输入: [1,3,5,6], 7 输出: 4

9.给定一个仅包含大小写字母和空格 ' ' 的字符串 s,返回其最后一个单词的长度。如果字符串从左向右滚动显示,

那么最后一个单词就是最后出现的单词。如果不存在最后一个单词,请返回 0 。

输入: "Hello World" 输出: 5

你可能感兴趣的:(前端算法实例(一))