随笔分类 - LeetCode
摘要:问题描述: 给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。 示例 1: 示例 2: 说明:你的算法应具有线性时间复杂度。你能否仅使用额外常数空间来实现? 方法1: 官方1:
阅读全文
摘要:问题描述: 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。 示例: 进阶: 你可以不使用循环或者递归,且在 O(1) 时间复杂度内解决这个问题吗? 方法1: 官方:amazing 官方2: 2018-09-22 16:56:58
阅读全文
摘要:问题描述: 编写一个程序判断给定的数是否为丑数。 丑数就是只包含质因数 2, 3, 5 的正整数。 示例 1: 示例 2: 示例 3: 说明: 思路:用num对三个质数做除法运算,到最后能整除即为丑数。 方法1: 简洁版: 2018-09-22 18:15:12
阅读全文
摘要:问题描述: 给定一个二叉树,返回所有从根节点到叶子节点的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 方法:(整不明白什么时候是None) 2018-09-22 16:14:13(蒙蔽状态)
阅读全文
摘要:问题描述: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。 示例 1: 示例 2: 说明: 你可以假设字符串只包含小写字母。 进阶: 如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况? 方法1:每次从s中查找t首部的一个字母,更新
阅读全文
摘要:问题描述: 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。 现有一个链表 -- head = [4,5,1,9],它可以表示为: 示例 1: 示例 2: 说明: 链表至少包含两个节点。 链表中所有节点的值都是唯一的。 给定的节点为非末尾节点并且一定是链表中
阅读全文
摘要:问题描述: 请判断一个链表是否为回文链表。 示例 1: 示例 2: 方法1:用列表把前半部分保存起来,指针p从中间开始进行比较。 方法2:把全部的数都取出来放到list中,正序和逆序进行比较。 方法3:(官网)* 方法4:转 2018-09-20 14:51:27
阅读全文
摘要:问题描述: 使用栈实现队列的下列操作: push(x) -- 将一个元素放入队列的尾部。 pop() -- 从队列首部移除元素。 peek() -- 返回队列首部的元素。 empty() -- 返回队列是否为空。 示例: 说明: 你只能使用标准的栈操作 -- 也就是只有 push to top, p
阅读全文
摘要:问题描述: 给定一个整数,编写一个函数来判断它是否是 2 的幂次方。 示例 1: 0 示例 2: 4 示例 3: 方法1: 方法2:二进制 方法3: 2018-09-20 06:58:15
阅读全文
摘要:问题描述: 翻转一棵二叉树。 示例: 输入: 输出: 备注: 这个问题是受到 Max Howell 的 原问题 启发的 : 方法1:(递归) there are some different 2018-09-19 15:09:02
阅读全文
摘要:问题描述: 使用队列实现栈的下列操作: push(x) -- 元素 x 入栈 pop() -- 移除栈顶元素 top() -- 获取栈顶元素 empty() -- 返回栈是否为空 注意: 你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, si
阅读全文
摘要:问题描述: 给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k。 示例 1: 示例 2: 示例 3: 方法1:(只适用于正数组成的list)erro 官方:感觉很无厘头啊,[99,99]
阅读全文
摘要:问题描述: 给定一个整数数组,判断是否存在重复元素。 如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。 示例 1: 示例 2: 示例 3: 方法: 2018-09-18 21:20:41
阅读全文
摘要:问题描述: 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 方法1:头插法 新增头结点 2018-09-18 21:17:27 1 class Solution: 2 def reverseList(self, head: L
阅读全文
摘要:问题描述: 给定两个字符串 s 和 t,判断它们是否是同构的。 如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。 所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。 示例 1: 示例 2: 示例 3: 官方1: >>>
阅读全文
摘要:问题描述: 统计所有小于非负整数 n 的质数的数量。 示例: 方法1:经典的判断是否为质数遍历(2,√n),超时 方法2:厄拉多塞筛法 西元前250年,希腊数学家厄拉多塞(Eeatosthese)想到了一个非常美妙的质数筛法,减少了逐一检查每个数的的步骤,可以比较简单的从一大堆数字之中,筛选出质数来
阅读全文
摘要:问题描述: 删除链表中等于给定值 val 的所有节点。 示例: 方法1:防止[1,1,1,1] 1 用while head。 2018-09-17 19:34:21
阅读全文
摘要:问题描述: 编写一个算法来判断一个数是不是“快乐数”。 一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。 示例: 2 2 2 2 2 2 2 2 方法1:
阅读全文
摘要:问题描述: 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。 示
阅读全文
摘要:问题描述: 编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。 示例 : 示例 2: 方法1: 直接可以 return bin(n).count('1') 官方: 在这里只是提一下zfill函数 描述 Python zfill() 方法返回指定长
阅读全文