随笔分类 -  leetcode刷题

leetcode
摘要:给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 示例 1: 示例 2: 阅读全文
posted @ 2018-09-04 23:14 Aprilnn 阅读(698) 评论(0) 推荐(0)
摘要:给定两个数组,编写一个函数来计算它们的交集。 示例 1: 示例 2: 说明: 输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。 我们可以不考虑输出结果的顺序。 解答: 利用collections Counter及set转换集合解答 阅读全文
posted @ 2018-08-24 19:24 Aprilnn 阅读(236) 评论(0) 推荐(0)
摘要:给定一个整数数组,判断是否存在重复元素。 如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。 示例 1: 输入: [1,2,3,1] 输出: true 示例 2: 输入: [1,2,3,4] 输出: false 示例 3: 输入: [1,1,1,3, 阅读全文
posted @ 2018-08-24 19:19 Aprilnn 阅读(229) 评论(0) 推荐(0)
摘要:给定一个字符串,确定它是否是回文,只考虑字母数字字符和忽略大小写。 例如: 注意: 解答: 注意: filter 函数 filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。 该函数接收两个参数,第一个为函数,第二个为序列, 阅读全文
posted @ 2018-08-24 19:03 Aprilnn 阅读(211) 评论(0) 推荐(0)
摘要:给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 解答 阅读全文
posted @ 2018-07-25 16:39 Aprilnn 阅读(384) 评论(0) 推荐(0)
摘要:假设你正在爬楼梯。需要 n 步你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 步 + 1 步 2. 2 步 示例 2: 输入: 3 输出: 3 解 阅读全文
posted @ 2018-07-25 14:21 Aprilnn 阅读(251) 评论(0) 推荐(0)
摘要:报数序列是指一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下: 1. 1 2. 11 3. 21 4. 1211 5. 111221 1 被读作 "one 1" ("一个一") , 即 11。11 被读作 "two 1s" ("两个一"), 即 21。21 被读作 "one 2 阅读全文
posted @ 2018-07-20 15:54 Aprilnn 阅读(315) 评论(0) 推荐(0)
摘要:实现 int sqrt(int x) 函数。 计算并返回 x 的平方根,其中 x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 示例 1: 示例 2: 第一次尝试 解题思路: 将元素的平方逐一和x比较,大于x就返回前一个元素 结果循环中要比较的次数太多,超出了时间限制 阅读全文
posted @ 2018-07-20 14:06 Aprilnn 阅读(441) 评论(0) 推荐(0)
摘要:给定两个二进制字符串,返回他们的和(用二进制表示)。 输入为非空字符串且只包含数字 1 和 0。 示例 1: 示例 2: 解题思路 先将字符串转换为整数再转化为十进制数,进行相加后,再转换回二进制数 但这样循环次数太多,效率太低,参考了别人的代码发现二进制,十进制间可以直接转换 注:bin()转换后 阅读全文
posted @ 2018-07-12 21:32 Aprilnn 阅读(967) 评论(0) 推荐(0)
摘要:实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 实例: 说明: 当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很 阅读全文
posted @ 2018-07-04 21:06 Aprilnn 阅读(105) 评论(0) 推荐(0)
摘要:编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 示例 2: 说明: 所有输入只包含小写字母 a-z 。 解答: 一开始想的是将列表中每个元素都转换成列表的形式, 以第一个利用元素为标准,后面每个元素都和第一个元素作比较, 得出公共子前缀, 然后用 阅读全文
posted @ 2018-06-21 14:36 Aprilnn
摘要:将每个罗马字母对应的整数写成字典格式,将输入的罗马数字字符串转换成列表形式 一开始想的是怎么将罗马字母的对应位置找出来,利用列表循环相加 后来发现了规律,‘IV'和’I'+'V‘只相差2,以此类推,最后将得到的总和减去多少个x里面的2就好了 阅读全文
posted @ 2018-06-18 20:54 Aprilnn 阅读(158) 评论(0) 推荐(0)
摘要:给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1: 输入: 123 输出: 321 示例 2: 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1: 示例 2: 示例 3: 注意: 假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1] 阅读全文
posted @ 2018-06-16 20:38 Aprilnn 阅读(139) 评论(0) 推荐(0)
摘要:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。 示例: 注:要考虑i,j不相等,即两元素的下标不能相等 一开始的代码 一开始想的是找到一个在nums中和item相加等于target的数,再返回其下标,结果运行时间太长了 改 阅读全文
posted @ 2018-06-13 23:04 Aprilnn 阅读(150) 评论(0) 推荐(0)