随笔分类 -  算法刷题

摘要:1037. 有效的回旋镖 难度简单 回旋镖定义为一组三个点,这些点各不相同且不在一条直线上。 给出平面上三个点组成的列表,判断这些点是否可以构成回旋镖。 示例 1: 输入:[[1,1],[2,3],[3,2]] 输出:true 示例 2: 输入:[[1,1],[2,2],[3,3]] 输出:fals 阅读全文
posted @ 2020-04-12 13:08 莴苣& 阅读(139) 评论(0) 推荐(0)
摘要:242. 有效的字母异位词 难度简单 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true 示例 2: 输入: s = "rat", t = "car" 输出: false 说 阅读全文
posted @ 2020-04-11 22:25 莴苣& 阅读(117) 评论(0) 推荐(0)
摘要:151. 翻转字符串里的单词 难度中等 给定一个字符串,逐个翻转字符串中的每个单词。 示例 1: 输入: "the sky is blue" 输出: "blue is sky the" 示例 2: 输入: " hello world! " 输出: "world! hello" 解释: 输入字符串可以 阅读全文
posted @ 2020-04-10 22:55 莴苣& 阅读(180) 评论(0) 推荐(0)
摘要:22. 括号生成 难度中等 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例: 输入:n = 3 输出:[ "((()))", "(()())", "(())()", "()(())", "()()()" ]思路:可以用树将示例模拟一遍,如下图(有 阅读全文
posted @ 2020-04-09 22:28 莴苣& 阅读(133) 评论(0) 推荐(0)
摘要:面试题05. 替换空格 难度简单 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例 1: 输入:s = "We are happy." 输出:"We%20are%20happy." 限制: 0 <= s 的长度 <= 10000 思路:先将字符串中所有的空格统计出来,然后利用mal 阅读全文
posted @ 2020-04-08 20:42 莴苣& 阅读(172) 评论(0) 推荐(0)
摘要:面试题 01.07. 旋转矩阵 难度中等 给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节。请你设计一种算法,将图像旋转 90 度。 不占用额外内存空间能否做到? 示例 1: 给定 matrix = [ [1,2,3], [4,5,6], [7,8,9] ], 原地旋转输入矩阵 阅读全文
posted @ 2020-04-07 22:22 莴苣& 阅读(302) 评论(0) 推荐(0)
摘要:72. 编辑距离 难度困难 给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字符 示例 1: 输入:word1 = "horse", word2 = "ros" 输 阅读全文
posted @ 2020-04-06 15:51 莴苣& 阅读(203) 评论(0) 推荐(0)
摘要:1395. 统计作战单位数 难度中等 n 名士兵站成一排。每个士兵都有一个 独一无二 的评分 rating 。 每 3 个士兵可以组成一个作战单位,分组规则如下: 从队伍中选出下标分别为 i、j、k 的 3 名士兵,他们的评分分别为 rating[i]、rating[j]、rating[k] 作战单 阅读全文
posted @ 2020-04-05 15:32 莴苣& 阅读(244) 评论(0) 推荐(0)
摘要:42. 接雨水 难度困难 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。 阅读全文
posted @ 2020-04-04 21:59 莴苣& 阅读(164) 评论(0) 推荐(0)
摘要:8. 字符串转换整数 (atoi) 难度中等 请你来实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下: 如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一 阅读全文
posted @ 2020-04-03 22:30 莴苣& 阅读(142) 评论(0) 推荐(0)
摘要:1342. 将数字变成 0 的操作次数 难度简单 给你一个非负整数 num ,请你返回将它变成 0 所需要的步数。 如果当前数字是偶数,你需要把它除以 2 ;否则,减去 1 。 示例 1: 输入:num = 14 输出:6 解释: 步骤 1) 14 是偶数,除以 2 得到 7 。 步骤 2) 7 是 阅读全文
posted @ 2020-04-02 20:15 莴苣& 阅读(248) 评论(0) 推荐(0)
摘要:1365. 有多少小于当前数字的数字 难度简单 给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。 换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 nums[j] < nums[i] 。 以数组形式返 阅读全文
posted @ 2020-04-01 19:52 莴苣& 阅读(218) 评论(0) 推荐(0)
摘要:268. 缺失数字 难度简单 给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。 示例 1: 输入: [3,0,1] 输出: 2 示例 2: 输入: [9,6,4,2,3,5,7,0,1] 输出: 8 说明:你的算法应具有线性时间复杂度 阅读全文
posted @ 2020-03-31 21:35 莴苣& 阅读(137) 评论(0) 推荐(0)
摘要:面试题62. 圆圈中最后剩下的数字 难度简单 0,1,,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。 例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下 阅读全文
posted @ 2020-03-30 17:43 莴苣& 阅读(170) 评论(0) 推荐(0)
摘要:820. 单词的压缩编码 难度中等 给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A。 例如,如果这个列表是 ["time", "me", "bell"],我们就可以将其表示为 S = "time#bell#" 和 indexes = [0, 2, 5]。 对于每一个索引 阅读全文
posted @ 2020-03-29 13:41 莴苣& 阅读(728) 评论(0) 推荐(0)
摘要:面试题58 - II. 左旋转字符串 难度简单 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。 示例 1: 输入: s = "abcdefg", 阅读全文
posted @ 2020-03-28 22:33 莴苣& 阅读(143) 评论(0) 推荐(0)
摘要:914. 卡牌分组 难度简单 给定一副牌,每张牌上都写着一个整数。 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌。 组内所有的牌上都写着相同的整数。 仅当你可选的 X >= 2 时返回 true。 示例 1: 输入:[1,2,3,4,4,3,2 阅读全文
posted @ 2020-03-27 22:07 莴苣& 阅读(139) 评论(0) 推荐(0)
摘要:999. 车的可用捕获量 难度简单59收藏分享切换为英文关注反馈 在一个 8 x 8 的棋盘上,有一个白色车(rook)。也可能有空方块,白色的象(bishop)和黑色的卒(pawn)。它们分别以字符 “R”,“.”,“B” 和 “p” 给出。大写字符表示白棋,小写字符表示黑棋。 车按国际象棋中的规 阅读全文
posted @ 2020-03-26 20:25 莴苣& 阅读(131) 评论(0) 推荐(0)
摘要:892. 三维形体的表面积 难度简单 在 N * N 的网格上,我们放置一些 1 * 1 * 1 的立方体。 每个值 v = grid[i][j] 表示 v 个正方体叠放在对应单元格 (i, j) 上。 请你返回最终形体的表面积。 示例 1: 输入:[[2]] 输出:10 示例 2: 输入:[[1, 阅读全文
posted @ 2020-03-25 22:39 莴苣& 阅读(207) 评论(0) 推荐(0)
摘要:64. 求1+2+…+n 难度中等 求 1+2+...+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 示例 1: 输入: n = 3 输出: 6 示例 2: 输入: n = 9 输出: 45 限制: 1 <= n <= 1 阅读全文
posted @ 2020-03-24 22:58 莴苣& 阅读(156) 评论(0) 推荐(0)