- 博客(434)
- 资源 (3)
- 收藏
- 关注
原创 电话号码的字母组合
学习目标:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。def letterCombinations(self, digits: str) -> List[str]: if not digits: return list() phoneMap = { "2": "abc", "3": "def",
2022-03-20 22:02:22
448
原创 组合两个表
学习目标:组合两个表学习内容:编写一个 SQL 查询,满足条件:无论 person 是否有地址信息,都需要基于上述两表提供 person 的以下信息:select p.FirstName,p.LastName,a.City,a.State from Person p left join Address a on p.PersonId = a.PersonId...
2022-03-19 21:22:17
410
原创 centos7安装apache2.4.53+php8.1.3
学习目标:centos7安装apache2.4.53+php8.1.3学习内容1.安装apache1.安装必要依赖yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-develyum install libxml2-devel -yyum install openssl openssl-develyum install bzip2 bzip2-devel -y yum install curl-devel -yyum inst
2022-03-19 11:58:10
2880
原创 下一个更大元素 I
学习目标:下一个更大元素 I学习内容:nums1 中数字 x 的 下一个更大元素 是指 x 在 nums2 中对应位置 右侧 的 第一个 比 x 大的元素。给你两个 没有重复元素 的数组 nums1 和 nums2 ,下标从 0 开始计数,其中nums1 是 nums2 的子集。对于每个 0 <= i < nums1.length ,找出满足 nums1[i] == nums2[j] 的下标 j ,并且在 nums2 确定 nums2[j] 的 下一个更大元素 。如果不存在下一个更大
2022-03-18 22:22:14
241
原创 超过经理收入的员工
学习目标:` 超过经理收入的员工学习内容:select a.name as Employeefrom Employee as a join Employee as bon a.managerId = b.idwhere a.salary > b.salary`
2022-03-17 23:10:16
366
原创 有效的完全平方数
学习目标:有效的完全平方数学习内容:`给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。解法:def isPerfectSquare(self, num: int) -> bool: x = 1 square = 1 while square <= num: if square == num: return Tr
2022-03-16 22:03:00
228
原创 两个数组的交集
学习目标:两个数组的交集学习内容:给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]: set1 = set(nums1) set2 = set(nums2) return self.set_intersectio
2022-03-14 23:03:34
301
原创 二叉树翻转
学习目标:给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。学习内容:解法:def invertTree(self, root: TreeNode) -> TreeNode: if not root: return root left = self.invertTree(root.left) right = self.invertTree(root.right) root.left, root.right = right,
2022-03-13 21:31:07
521
原创 岛屿的周长
学习目标:岛屿的周长学习内容:给定一个 row x col 的二维网格地图 grid ,其中:grid[i][j] = 1 表示陆地, grid[i][j] = 0 表示水域。网格中的格子 水平和垂直 方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的周长。思路:
2022-03-12 19:51:39
118
原创 数字的补数
学习目标:数字的补数学习内容:对整数的二进制表示取反(0 变 1 ,1 变 0)后,再转换为十进制表示,可以得到这个整数的补数。例如,整数 5 的二进制表示是 “101” ,取反后得到 “010” ,再转回十进制表示得到补数 2 。给你一个整数 num ,输出它的补数。解法: def findComplement(self, num: int) -> int: highbit = 0 for i in range(1, 30 + 1): if num
2022-03-10 22:40:05
296
原创 MYSQL-从不订购的客户
学习目标:从不订购的客户学习内容:某网站包含两个表,Customers 表和 Orders 表。编写一个 SQL 查询,找出所有从不订购任何东西的客户。解法:select customers.name as 'Customers'from customerswhere customers.id not in( select customerid from orders);...
2022-03-09 22:49:50
803
原创 二叉树的后序遍历
学习目标:二叉树的后序遍历学习内容:给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。class Solution: def postorderTraversal(self, root: Optional[TreeNode]) -> List[int]: result = [] return self.travel(root,result) def travel(self,root, result): if ro
2022-03-08 21:45:18
165
原创 每日一题-正则表达式匹配
学习目标:每日一题-正则表达式匹配学习内容:给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。解法:class Solution: def isMatch(self, s: str, p: str) -> bool: m, n = len(s), len(p) def matc
2022-03-07 22:48:46
154
原创 比特位计数
学习目标:每日一题-比特位计数学习内容:给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans 作为答案。解法:class Solution: def countBits(self, n: int) -> List[int]: def countOnes(x: int) -> int: ones = 0
2022-03-06 21:43:36
233
原创 每日一题-杨辉三角 II
学习目标:每日一题-杨辉三角 II学习内容:给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。解法:class Solution: def getRow(self, rowIndex: int) -> List[int]: dp = [1] + [0] * rowIndex for i in range(1, rowIndex + 1):
2022-03-04 23:23:27
184
原创 每日一题- 4的幂
学习目标:每日一题- 4的幂学习内容:给定一个整数,写一个函数来判断它是否是 4 的幂次方。如果是,返回 true ;否则,返回 false 。整数 n 是 4 的幂次方需满足:存在整数 x 使得 n == 4x解法:class Solution: def isPowerOfFour(self, n: int) -> bool: return n > 0 and (n & (n - 1)) == 0 and n % 3 == 1...
2022-03-03 23:05:09
132
原创 每日一题-Nim 游戏
学习目标:每日一题-Nim 游戏学习内容:你和你的朋友,两个人一起玩 Nim 游戏:桌子上有一堆石头。你们轮流进行自己的回合, 你作为先手 。每一回合,轮到的人拿掉 1 - 3 块石头。拿掉最后一块石头的人就是获胜者。假设你们每一步都是最优解。请编写一个函数,来判断你是否可以在给定石头数量为 n 的情况下赢得游戏。如果可以赢,返回 true;否则,返回 false 。思路:让我们考虑一些小例子。显而易见的是,如果石头堆中只有一块、两块、或是三块石头,那么在你的回合,你就可以把全部
2022-03-02 22:39:29
2826
原创 每日一题 - 找不同
学习目标:每日一题 - 找不同学习内容:给定两个字符串 s 和 t ,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。class Solution: def findTheDifference(self, s: str, t: str) -> str: am = 0 at = 0 for ch in s: am += ord(ch)
2022-03-01 22:00:18
169
原创 最长回文串
学习目标:每日一题-最长回文串学习内容:给定一个包含大写字母和小写字母的字符串 s ,返回 通过这些字母构造成的 最长的回文串 。在构造过程中,请注意 区分大小写 。比如 “Aa” 不能当做一个回文字符串。解法:回文串是一个正着读和反着读都一样的字符串。以回文中心为分界线,对于回文串中左侧的字符 ch,在右侧对称的位置也会出现同样的字符。例如在字符串 “abba” 中,回文中心是 “ab|ba” 中竖线的位置,而在字符串 “abcba” 中,回文中心是 “ab©ba” 中的字符 “c”
2022-02-28 22:30:35
188
原创 每日一题-2 的幂
学习目标:每日一题-2 的幂学习内容:给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。解法:class Solution: def isPowerOfTwo(self, n: int) -> bool: if n <=0 : return False while n % 2 ==
2022-02-27 20:50:54
212
原创 移除链表元素
学习目标:移除链表元素学习内容:给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。class Solution: def removeElements(self, head: ListNode, val: int) -> ListNode: if head == None: return head head.next = self.re
2022-02-26 21:42:01
531
原创 用队列实现栈
学习目标:每日一题-用队列实现栈学习内容:请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。实现 MyStack 类:void push(int x) 将元素 x 压入栈顶。int pop() 移除并返回栈顶元素。int top() 返回栈顶元素。boolean empty() 如果栈是空的,返回 true ;否则,返回 false 。注意:你只能使用队列的基本操作 —— 也就是 push to back、p
2022-02-25 20:19:21
147
原创 每日一题-快乐数
学习目标:每日一题-快乐数学习内容:编写一个算法来判断一个数 n 是不是快乐数。「快乐数」 定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果这个过程 结果为 1,那么这个数就是快乐数。如果 n 是 快乐数 就返回 true ;不是,则返回 false 。解法:class Solution: def isHappy(self, n: int) -> bool:
2022-02-24 20:23:47
204
原创 每日一题-两数之和
学习目标:每日一题-两数之和学习内容:提给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。解法:class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: for
2022-02-23 21:45:05
94
原创 存在重复元素 II
学习目标:每日一题-存在重复元素 II学习内容:给你一个整数数组 nums 和一个整数 k ,判断数组中是否存在两个 不同的索引 i 和 j ,满足 nums[i] == nums[j] 且 abs(i - j) <= k 。如果存在,返回 true ;否则,返回 false 。解法:class Solution: def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool: re
2022-02-22 20:47:06
124
原创 二叉树的中序遍历(左根右)
学习目标:每日一题-二叉树的中序遍历(根左右)学习内容:给定一个二叉树的根节点 root ,返回它的 中序 遍历。解法:class Solution: def inorderTraversal(self, root: Optional[TreeNode]) -> List[int]: res = [] self.inorder(root, res) return res def inorder(self, ro
2022-02-21 22:00:13
565
原创 每日一题-除数博弈
学习目标:每日一题-除数博弈学习内容:爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。最初,黑板上有一个数字 n 。在每个玩家的回合,玩家需要执行以下操作:选出任一 x,满足 0 < x < n 且 n % x == 0 。用 n - x 替换黑板上的数字 n 。如果玩家无法执行这些操作,就会输掉游戏。只有在爱丽丝在游戏中取得胜利时才返回 true 。假设两个玩家都以最佳状态参与游戏。class Solution: def divisorGame(self
2022-02-20 19:40:37
2359
原创 猜数字大小
学习目标:每日一题-猜数字大小学习内容:猜数字游戏的规则如下:每轮游戏,我都会从 1 到 n 随机选择一个数字。 请你猜选出的是哪个数字。如果你猜错了,我会告诉你,你猜测的数字比我选出的数字是大了还是小了。你可以通过调用一个预先定义好的接口 int guess(int num) 来获取猜测结果,返回值一共有 3 种可能的情况(-1,1 或 0):-1:我选出的数字比你猜的数字小 pick < num1:我选出的数字比你猜的数字大 pick > num0:我选出的数字和你猜
2022-02-19 19:37:28
223
原创 转换成小写字母
学习目标:每日一题-转换成小写字母学习内容:给你一个字符串 s ,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。class Solution: def toLowerCase(self, s: str) -> str: return s.lower()...
2022-02-18 21:15:58
207
原创 每日一题-各位相加
学习目标:每日一题-各位相加学习内容:给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。解法:class Solution: def addDigits(self, num: int) -> int: if num==0: return 0 if num%9 == 0: return 9 else: return num%
2022-02-17 21:52:50
188
原创 数字转换为十六进制数
学习目标:每日一题- 数字转换为十六进制数学习内容:给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用 补码运算 方法。注意:十六进制中所有字母(a-f)都必须是小写。十六进制字符串中不能包含多余的前导零。如果要转化的数为0,那么以单个字符’0’来表示;对于其他情况,十六进制字符串中的第一个字符将不会是0字符。给定的数确保在32位有符号整数范围内。不能使用任何由库提供的将数字直接转换或格式化为十六进制的方法。解法:CONV = "0123456789ab
2022-02-16 21:51:42
1385
原创 每日一题-第十行
学习目标:每日一题-第十行学习内容:给定一个文本文件 file.txt,请只打印这个文件中的第十行。解法:awk 'NR==10' file.txtsed -n 10p file.txttail -n +10 file.txt|head -1
2022-02-15 21:41:27
318
原创 每日一题-丑数
学习目标:每日一题-丑数来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/ugly-number著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。学习内容:给你一个整数 n ,请你判断 n 是否为 丑数 。如果是,返回 true ;否则,返回 false 。丑数 就是只包含质因数 2、3 和/或 5 的正整数。解法:class Solution: def isUgly(self, n: int) ->
2022-02-14 21:12:59
366
原创 斐波那契数
学习目标:每日一题-斐波那契数学习内容:斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:解法:class Solution: def fib(self, n: int) -> int: if n == 0: return 0 if n == 1: return 1 return self.
2022-02-13 21:32:58
299
原创 查找重复的电子邮箱
学习目标:每日一题-查找重复的电子邮箱学习内容:编写一个 SQL 查询,查找 Person 表中所有重复的电子邮箱。select Email from( select Email, count(Email) as num from Person group by Email) as statisticwhere num > 1...
2022-02-12 21:48:07
296
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人