04 2020 档案

摘要:202. 快乐数 难度简单 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1,那么这个数就是快乐数。 如果 n 是快乐数就返回 T 阅读全文
posted @ 2020-04-30 17:55 莴苣& 阅读(144) 评论(0) 推荐(0)
摘要:20. 有效的括号 难度简单 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: "()" 输出: true 示例 阅读全文
posted @ 2020-04-29 21:36 莴苣& 阅读(161) 评论(0) 推荐(0)
摘要:LCP 06. 拿硬币 难度简单 桌上有 n 堆力扣币,每堆的数量保存在数组 coins 中。我们每次可以选择任意一堆,拿走其中的一枚或者两枚,求拿完所有力扣币的最少次数。 示例 1: 输入:[4,2,1] 输出:4 解释:第一堆力扣币最少需要拿 2 次,第二堆最少需要拿 1 次,第三堆最少需要拿 阅读全文
posted @ 2020-04-28 20:04 莴苣& 阅读(220) 评论(0) 推荐(0)
摘要:面试题07. 重建二叉树 难度中等 输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3,15,20,7] 返回如下的二叉树: 3 阅读全文
posted @ 2020-04-27 20:59 莴苣& 阅读(211) 评论(0) 推荐(0)
摘要:543. 二叉树的直径 难度简单 给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过也可能不穿过根结点。 示例 :给定二叉树 1 / \ 2 3 / \ 4 5 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。 注 阅读全文
posted @ 2020-04-26 20:04 莴苣& 阅读(174) 评论(0) 推荐(0)
摘要:136. 只出现一次的数字 难度简单 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1 阅读全文
posted @ 2020-04-24 20:54 莴苣& 阅读(156) 评论(0) 推荐(0)
摘要:198. 打家劫舍 难度简单 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃 阅读全文
posted @ 2020-04-23 21:33 莴苣& 阅读(142) 评论(0) 推荐(0)
摘要:199. 二叉树的右视图 难度中等 给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例: 输入: [1,2,3,null,5,null,4] 输出: [1, 3, 4] 解释: 1 < / \ 2 3 < \ \ 5 4 < 思路:创建一个数组,用来存放 阅读全文
posted @ 2020-04-22 20:51 莴苣& 阅读(149) 评论(0) 推荐(0)
摘要:922. 按奇偶排序数组 II 难度简单 给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。 对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数;当 A[i] 为偶数时, i 也是偶数。 你可以返回任何满足上述条件的数组作为答案。 示例: 输入:[4,2,5,7] 输出:[4, 阅读全文
posted @ 2020-04-21 21:32 莴苣& 阅读(136) 评论(0) 推荐(0)
摘要:414. 第三大的数 难度简单 给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。 示例 1: 输入: [3, 2, 1] 输出: 1 解释: 第三大的数是 1. 示例 2: 输入: [1, 2] 输出: 2 解释: 第三大的数不存在, 所 阅读全文
posted @ 2020-04-20 20:09 莴苣& 阅读(132) 评论(0) 推荐(0)
摘要:905. 按奇偶排序数组 难度简单 给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。 你可以返回满足此条件的任何数组作为答案。 示例: 输入:[3,1,2,4] 输出:[2,4,3,1] 输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3 阅读全文
posted @ 2020-04-19 22:41 莴苣& 阅读(114) 评论(0) 推荐(0)
摘要:11. 盛最多水的容器 难度中等 给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾 阅读全文
posted @ 2020-04-18 16:26 莴苣& 阅读(116) 评论(0) 推荐(0)
摘要:55. 跳跃游戏 难度中等 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1: 输入: [2,3,1,1,4] 输出: true 解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 阅读全文
posted @ 2020-04-17 22:26 莴苣& 阅读(117) 评论(0) 推荐(0)
摘要:101. 对称二叉树 难度简单 给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3 思 阅读全文
posted @ 2020-04-16 21:50 莴苣& 阅读(112) 评论(0) 推荐(0)
摘要:两个有序序列的中位数 已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列,的中位数指A(N-1)/2的值,即第(N+1)/2个数(A0为第1个数)。 输入格式: 输入分三行。第一行给出序列的公共长度N(0<N≤100000),随后每行输入一个序列的信息,即N个非降序 阅读全文
posted @ 2020-04-15 23:15 莴苣& 阅读(1694) 评论(0) 推荐(0)
摘要:100. 相同的树 难度简单 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3] 输出: true 示例 2: 输入: 1 1 / \ 2 阅读全文
posted @ 2020-04-14 21:39 莴苣& 阅读(149) 评论(0) 推荐(0)
摘要:14. 最长公共前缀 难度简单 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入: ["flower","flow","flight"] 输出: "fl" 示例 2: 输入: ["dog","racecar","car"] 输出: "" 解释 阅读全文
posted @ 2020-04-13 17:06 莴苣& 阅读(157) 评论(0) 推荐(0)
摘要: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 莴苣& 阅读(245) 评论(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 莴苣& 阅读(143) 评论(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)