打卡100题
我的小狗很很可爱
快乐的游标卡尺~
展开
-
【简单】1688. 比赛中的配对次数(js)
题目:给你一个整数 n ,表示比赛中的队伍数。比赛遵循一种独特的赛制:如果当前队伍数是 偶数 ,那么每支队伍都会与另一支队伍配对。总共进行 n / 2 场比赛,且产生 n / 2 支队伍进入下一轮。如果当前队伍数为 奇数 ,那么将会随机轮空并晋级一支队伍,其余的队伍配对。总共进行 (n - 1) / 2 场比赛,且产生 (n - 1) / 2 + 1 支队伍进入下一轮。返回在比赛中进行的配对次数,直到决出获胜队伍为止。/** * @param {number} n * @return原创 2021-04-20 16:09:19 · 152 阅读 · 0 评论 -
【简单】1450. 在既定时间做作业的学生人数(js)
题目:给你两个整数数组 startTime(开始时间)和 endTime(结束时间),并指定一个整数 queryTime 作为查询时间。已知,第 i 名学生在 startTime[i] 时开始写作业并于 endTime[i] 时完成作业。请返回在查询时间 queryTime 时正在做作业的学生人数。形式上,返回能够使 queryTime 处于区间 [startTime[i], endTime[i]](含)的学生人数。/** * @param {number[]} startTime *原创 2021-04-20 14:42:03 · 98 阅读 · 0 评论 -
【简单】28. 实现 strStr()(js)
实现strStr()函数。给你两个字符串haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回-1 。说明:当needle是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。对于本题而言,当needle是空字符串时我们应当返回 0 。这与 C 语言的strstr()以及 Java 的indexOf()定义相符。/** * @param {st...原创 2021-04-20 10:33:27 · 140 阅读 · 0 评论 -
【简单】27. 移除元素(js)
给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参作任何拷...原创 2021-04-19 17:25:57 · 549 阅读 · 0 评论 -
【简单】9. 回文数(js)
题目:给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。输入:x = -121输出:false解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。/** * @param {number} x * @return {boolean} */var isPalindrome = function(x)原创 2021-04-19 14:53:22 · 190 阅读 · 0 评论 -
【简单】1. 两数之和(js)
题目:给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。/** * @param {number[]} nums * @param...原创 2021-04-15 19:46:36 · 106 阅读 · 0 评论 -
【简单】7. 整数反转(js)
题目:给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围[−231,231− 1] ,就返回 0。假设环境不允许存储 64 位整数(有符号或无符号)。输入:x = -123输出:-321-231<= x <= 231- 1/** * @param {number} x * @return {number} */var reverse = function(x) { v...原创 2021-04-15 16:50:37 · 183 阅读 · 0 评论 -
【简单】LCP 01. 猜数字(js)
题目:小A 和 小B 在玩猜数字。小B 每次从 1, 2, 3 中随机选择一个,小A 每次也从 1, 2, 3 中选择一个猜。他们一共进行三次这个游戏,请返回 小A 猜对了几次?输入的guess数组为 小A 每次的猜测,answer数组为 小B 每次的选择。guess和answer的长度都等于3。输入:guess = [1,2,3], answer = [1,2,3]输出:3解释:小A 每次都猜对了。/** * @param {number[]} guess * @param {原创 2021-04-14 15:01:13 · 93 阅读 · 0 评论 -
【简单】1342. 将数字变成 0 的操作次数(js)
题目:给你一个非负整数num,请你返回将它变成 0 所需要的步数。 如果当前数字是偶数,你需要把它除以 2 ;否则,减去 1 。输入:num = 14输出:6解释:步骤 1) 14 是偶数,除以 2 得到 7 。步骤 2) 7 是奇数,减 1 得到 6 。步骤 3) 6 是偶数,除以 2 得到 3 。步骤 4) 3 是奇数,减 1 得到 2 。步骤 5) 2 是偶数,除以 2 得到 1 。步骤 6) 1 是奇数,减 1 得到 0 。/** * @param {number..原创 2021-04-14 14:53:23 · 144 阅读 · 0 评论 -
【简单】1470. 重新排列数组(js)
题目:给你一个数组 nums ,数组中有 2n 个元素,按 [x1,x2,...,xn,y1,y2,...,yn] 的格式排列。请你将数组按 [x1,y1,x2,y2,...,xn,yn] 格式重新排列,返回重排后的数组。输入:nums = [2,5,1,3,4,7], n = 3输出:[2,3,5,4,1,7]解释:由于 x1=2, x2=5, x3=1, y1=3, y2=4, y3=7 ,所以答案为 [2,3,5,4,1,7]/** * @param {number[]} n.原创 2021-04-14 14:33:28 · 183 阅读 · 0 评论 -
【简单】LCP 06. 拿硬币(js)
题目:桌上有n堆力扣币,每堆的数量保存在数组coins中。我们每次可以选择任意一堆,拿走其中的一枚或者两枚,求拿完所有力扣币的最少次数。输入:[4,2,1]输出:4解释:第一堆力扣币最少需要拿 2 次,第二堆最少需要拿 1 次,第三堆最少需要拿 1 次,总共 4 次即可拿完。/** * @param {number[]} coins * @return {number} */var minCount = function(coins) { var num ...原创 2021-04-14 14:27:39 · 193 阅读 · 0 评论 -
【简单】1295. 统计位数为偶数的数字(js)
题目:给你一个整数数组nums,请你返回其中位数为偶数的数字的个数。输入:nums = [12,345,2,6,7896]输出:2解释:12 是 2 位数字(位数为偶数)345 是 3 位数字(位数为奇数)2 是 1 位数字(位数为奇数)6 是 1 位数字 位数为奇数)7896 是 4 位数字(位数为偶数)因此只有 12 和 7896 是位数为偶数的数字/** * @param {number[]} nums * @return {number} */...原创 2021-04-14 09:11:40 · 290 阅读 · 0 评论 -
【简单】1108. IP 地址无效化(字符串替换)(js)
题目:给你一个有效的IPv4地址address,返回这个 IP 地址的无效化版本。所谓无效化IP 地址,其实就是用"[.]"代替了每个"."。输入:address = "1.1.1.1"输出:"1[.]1[.]1[.]1"/** * @param {string} address * @return {string} */var defangIPaddr = function(address) { var str = address.replaceAll('.'...原创 2021-04-14 08:58:06 · 149 阅读 · 0 评论 -
【简单】1512. 好数对的数目(js)
题目:给你一个整数数组 nums 。如果一组数字 (i,j) 满足 nums[i] == nums[j] 且 i < j ,就可以认为这是一组 好数对 。返回好数对的数目。输入:nums = [1,2,3,1,1,3]输出:4解释:有 4 组好数对,分别是 (0,3), (0,4), (3,4), (2,5) ,下标从 0 开始/** * @param {number[]} nums * @return {number} */var numIdenticalPairs原创 2021-04-09 16:57:50 · 76 阅读 · 0 评论 -
【简单】1672. 最富有客户的资产总量(js)
题目:给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。客户的 资产总量 就是他们在各家银行托管的资产数量之和。最富有客户就是 资产总量 最大的客户。输入:accounts = [[1,5],[7,3],[3,5]]输出:10解释:第 1 位客户的资产总量 = 6第 2 位客户的资产总量 = 10第 3 位客户的资产总量 = 8第 2 位客户是最富有.原创 2021-04-09 16:30:44 · 101 阅读 · 0 评论 -
【简单】771. 宝石与石头(js)
题目:给定字符串J代表石头中宝石的类型,和字符串S代表你拥有的石头。S中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J中的字母不重复,J和S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。/** * @param {string} jewels * @param {string} stones * @return {number} */var numJewelsInStones = function(jewels,...原创 2021-04-09 16:16:59 · 138 阅读 · 0 评论 -
【简单】剑指 Offer 58 - II. 左旋转字符串(js)
题目:字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。/** * @param {string} s * @param {number} n * @return {string} */var reverseLeftWords = function(s, n) {var a = s.substring(0,n);var b = s原创 2021-04-09 16:14:16 · 103 阅读 · 0 评论 -
【简单】1480. 一维数组的动态和(js)
题目描述:给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i]) 。请返回 nums 的动态和。/** * @param {number[]} nums * @return {number[]} */var runningSum = function(nums) { if(nums.length>1){ var returnData = nums[0]; var num原创 2021-04-09 15:02:31 · 407 阅读 · 0 评论