力扣
゜ eVer ㄨ
这个作者很懒,什么都没留下…
展开
-
罗马数字转整数
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000示例 1:输入: s = “III”输出: 3示例 2:输入: s = “IV”输出: 4示例 3:输入: s = “IX”输出: 9示例 4:输入:原创 2022-03-10 18:18:19 · 54 阅读 · 0 评论 -
5.替换空格
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = “We are happy.”输出:“We%20are%20happy.”思路:1.对字符串进行遍历,使用charAt函数对每一个字符进行比较,看是否为空格,如果不为空,该字符进行拼接,否则拼接的是替换的字符2.使用replace函数将每一个空格进行替换(不做演示)代码展示...原创 2022-01-20 13:46:52 · 142 阅读 · 0 评论 -
二分查找
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例 2:输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 不存在 nums 中因此返回 -1思路:二分查找,找中间数字,如果中原创 2021-10-24 13:48:48 · 83 阅读 · 0 评论 -
分割平衡字符串(贪心算法)
分割平衡字符串(贪心算法)题目:在一个 平衡字符串 中,‘L’ 和 ‘R’ 字符的数量是相同的。给你一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串。示例 1:输入:s = “RLRRLLRLRL”输出:4解释:s 可以分割为 “RL”、“RRLL”、“RL”、“RL” ,每个子字符串中都包含相同数量的 ‘L’ 和 ‘R’ 。示例 2:输入:s = “RLLLLRRRLR”输出:3解释:s 可以分割为 “RL”、“LLLRRR”、“LR” ,每个子字符串中都包含相同数量的 ‘L’ 和原创 2021-10-22 11:44:10 · 467 阅读 · 0 评论 -
救生艇(排序,对撞指针)
题目大概意思就是,有people n个人,船只限载重为limit,且每艘船只能做两个人,求运送完这批人,最少需要多少船只;示例 1:输入:people = [1,2], limit = 3输出:1解释:1 艘船载 (1, 2)示例 2:输入:people = [3,2,2,1], limit = 3输出:3解释:3 艘船分别载 (1, 2), (2) 和 (3)示例 3:输入:people = [3,5,3,4], limit = 5输出:4解释:4 艘船分别载 (3), (3),原创 2021-10-21 15:27:40 · 91 阅读 · 0 评论 -
有效的字母异位词
有效的字母异位词给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。判断条件:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。示例 1:输入: s = “anagram”, t = “nagaram”输出: true示例 2:输入: s = “rat”, t = “car”输出: false思路::可以使用排序,对比排序后的字符串,如果两个字符串相等,那么一个字符串试另一个字符串的字母异位词代码展示...原创 2021-10-20 14:15:18 · 74 阅读 · 0 评论 -
反转字符串
反转字符串示例 1:输入:s = [“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e”,“h”]示例 2:输入:s = [“H”,“a”,“n”,“n”,“a”,“h”]输出:[“h”,“a”,“n”,“n”,“a”,“H”]思路:1.使用字符串的reverse反转,不建议使用;2.使用for循环倒序遍历,将倒序的字符串取出形成反转后的字符串3.使用双指针代码展示reverse();使用双指针,利用一个中间变量temp将左边和右边值进行交换...原创 2021-10-20 07:45:00 · 121 阅读 · 0 评论 -
斐波那契数列
day04,斐波那契数列写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:1示例 2:输入:n = 5输出:5思路:方法1:利用递归当n<2的时候,fn的结果就是n当n>2的时原创 2021-10-19 14:20:19 · 75 阅读 · 0 评论 -
买卖股票的最佳时机 II
day04:买卖股票的最佳时机 II示例 1:输入: prices = [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6-3 = 3 。示例 2:输入: prices = [1,2,3,4,5]输出: 4解释: 在第 1 天(股票价格 =原创 2021-10-19 11:00:00 · 68 阅读 · 0 评论 -
存在重复元素
存在重复元素给定一个整数数组,判断是否存在重复元素。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例 3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true思路:方法1:.使用排序,遍历数组,判断第i位置和第i+1位置对应的值是否相同方法2:使用set集合,不可重复的原理,如果set.has(nums[i])//判断有没有这个数字,如果没有,将这个数字添加到set集合里,如果有直接返回true;方法3:原创 2021-10-18 12:13:38 · 57 阅读 · 0 评论 -
两数之和
记录每日一道力扣题day01:两数之和示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。思路在给定的数组中寻找两个数,要求等于给定的目标值,采用双层for循环,第一层控制的是第一个数字,第二层控制的是第二个数字 ,两个相加等于target值。解题var twoSum = function(nums, target) {for(var i = 0;i<nums.原创 2021-10-16 17:12:03 · 83 阅读 · 0 评论 -
只出现一次的数字
day02:只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。**说明:不使用额外空间来实现示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4思路:1.使用异或:0^0 = 0;0^1 = 1;1^1 = 0;1^0 = 1;通过这个规律可以发现当两个相同的数字出现异或时,结果为0,那么将每一个数字都进行异或,得到的数字就是只出现一次的数字;就以[2,2,1]举例,2异原创 2021-10-17 20:17:32 · 56 阅读 · 0 评论