![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode每日一题
热季流星
海压竹枝低复举,风吹山角晦还明
展开
-
LeetCode[每日一题] 面试0102.判定互为字符串
4.26 面试0102 判定互为字符串给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。题目分析解法一:取巧一行代码;先转换为数组,排序后重新转为字符串比较return Array.from(s1).sort().join('') === Array.from(s2).sort().join('')解法二:hash表在两个字符串size相等的情况下:hash表储存键值对,key-value表示字符-对应出现的次数;利用一个ma原创 2021-04-26 21:35:04 · 95 阅读 · 0 评论 -
LeetCode[每日一题]897.递增顺序搜索树
4.25 897.递增顺序搜索树用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )题目分析先用中序遍历获得二叉搜索树的每个节点值;中序遍历的结果是从小到大的;然后创建新的起点节点,一个接一个将中序遍历的结果串到递增顺序搜索树.解释一个接一个curNode = curNode.right;串 for (le原创 2021-04-25 18:42:34 · 88 阅读 · 0 评论 -
LeetCode[每日一题] 面试0101重复字符串 / 关于set
4.24面试0101重复字符串实现一个算法,确定一个字符串 s 的所有字符是否全都不同。题目分析使用ES6set判断重复var isUnique = function (astr) { var arr = Array.from(astr) var ser = new Set(...[arr]) if (ser.size < arr.length) {// Set的size小于arr.length 说明去重了 return false }原创 2021-04-24 03:46:26 · 86 阅读 · 0 评论 -
LeetCode[每日一题] 35.搜索插入位置 / 关于二分查找的思考
4.22 35.搜索插入位置给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。分析在一个排序数组中查找一个数值的索引,使用二分查找是最直观的思路;难点在于如何在目标数不存在的情况下返回应该插入的位置.1、暴力查找,只需要找到第一个大于等于target的数字位置,返回其索引,时间复杂度O(n)2、二分查找:①target存在,返回索引②target不存在,返回leftvar searchInsert = functi原创 2021-04-22 23:07:38 · 99 阅读 · 1 评论 -
LeetCode[每日一题]91.解码方法 \ 以及对于动态规划的思考
4.21 91.解码方法每个字母映射为1-26的数字给你一个只含数字的 非空 字符串 s ,请计算并返回 解码 方法的 总数输入:s = “226”输出:3解释:它可以解码为 “BZ” (2 26), “VF” (22 6), 或者 “BBF” (2 2 6) 。题目分析使用动态规划,可能用一位数字编码或者两位数字编码动态规划组成部分一 确定状态dp[i]表示i个字符有多少种解码方式最后的结果就是dp[s.length]动态规划组成部分二 转移方程1、最后一次编码使用一个字符,s原创 2021-04-21 18:13:26 · 100 阅读 · 0 评论 -
LeetCode[每日一题]28.实现strStr()
LeetCode[每日一题]4.20 28.实现strStr()实现 strStr() 函数。给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。题目分析方案一ES6新增includes()方法,判断haystack是否包含needle字符串;如果包含则遍历haystack,找到needle[0],输出;否则输出-1. var s1 = 'h原创 2021-04-21 16:38:00 · 84 阅读 · 0 评论