前端中级算法题
2024-01-03 13:46:19
前端中级算法题
-
反转字符串
编写一个函数,接受一个字符串作为输入,并返回反转后的字符串。
示例:
function reverseString(str) { return str.split('').reverse().join(''); } reverseString('hello'); // 输出: 'olleh' ```
-
找出数组中的最大值
编写一个函数,接受一个数字数组作为输入,并返回数组中的最大值。
示例:
function findMax(arr) { return Math.max(...arr); } findMax([1, 3, 5, 2, 4]); // 输出: 5 ```
-
判断字符串是否为回文
编写一个函数,接受一个字符串作为输入,并判断该字符串是否是回文字符串。回文字符串是指正着读和反着读都一样的字符串。
示例:
function isPalindrome(str) { return str === str.split('').reverse().join(''); } isPalindrome('level'); // 输出: true ```
-
统计字符串中每个字符的出现次数
编写一个函数,接受一个字符串作为输入,并返回一个对象,该对象包含字符串中每个字符作为键,以及对应字符出现的次数作为值。
示例:
function countCharacters(str) { const count = {}; for (let char of str) { count[char] = count[char] ? count[char] + 1 : 1; } return count; } countCharacters('hello'); // 输出: { h: 1, e: 1, l: 2, o: 1 } ```
-
判断两个字符串是否为同构
编写一个函数,接受两个字符串作为输入,并判断它们是否为同构字符串。同构字符串是指两个字符串中的字符可以被一一映射,且相同位置上的字符在两个字符串中必须相同。
示例:
function isIsomorphic(str1, str2) { if (str1.length !== str2.length) { return false; } const map1 = {}; const map2 = {}; for (let i = 0; i < str1.length; i++) { const char1 = str1[i]; const char2 = str2[i]; if ((map1[char1] && map1[char1] !== char2) || (map2[char2] && map2[char2] !== char1)) { return false; } map1[char1] = char2; map2[char2] = char1; } return true; } isIsomorphic('egg', 'add'); // 输出: true ```
文章来源:https://blog.csdn.net/qq_42431718/article/details/135360940
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!