Leetcode练习(Python):数学类:第223题:矩形面积:在二维平面上计算出两个由直线构成的矩形重叠后形成的总面积。 每个矩形由其左下顶点和右上顶点坐标表示,如图所示。
摘要:题目: 矩形面积:在二维平面上计算出两个由直线构成的矩形重叠后形成的总面积。 每个矩形由其左下顶点和右上顶点坐标表示,如图所示。 说明: 假设矩形面积不会超出 int 的范围。 思路: 中学应用题,按照思路就可以求解了。 程序: class Solution: def computeArea(sel
阅读全文
posted @
2020-05-06 17:19
桌子哥
阅读(869)
推荐(0) 编辑
Leetcode练习(Python):数学类:第231题:2的幂:给定一个整数,编写一个函数来判断它是否是 2 的幂次方。
摘要:题目: 2的幂:给定一个整数,编写一个函数来判断它是否是 2 的幂次方。 思路: 本题思路较简单。 程序: class Solution: def isPowerOfTwo(self, n: int) -> bool: if n <= 0: return False if n == 1: retur
阅读全文
posted @
2020-05-06 16:24
桌子哥
阅读(605)
推荐(0) 编辑
Leetcode练习(Python):数学类:第172题:阶乘后的零:给定一个整数 n,返回 n! 结果尾数中零的数量。
摘要:题目: 阶乘后的零:给定一个整数 n,返回 n! 结果尾数中零的数量。 说明: 你算法的时间复杂度应为 O(log n) 。 思路: 结果末尾的0只可能由5*2,5*4,5*6和5*8得来,往小了说就是5*2,因此找出可能有多少个5是本题的关键。因为限制了时间复杂度,因此使用这样的思路,没有限制的话
阅读全文
posted @
2020-05-06 16:13
桌子哥
阅读(632)
推荐(0) 编辑
Leetcode练习(Python):数学类:第171题:Excel表列序号:给定一个Excel表格中的列名称,返回其相应的列序号。
摘要:题目: Excel表列序号:给定一个Excel表格中的列名称,返回其相应的列序号。 例如, A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ... 思路: 第168题的逆过程,思路较简单。 程序: class Solution: def titl
阅读全文
posted @
2020-05-06 16:01
桌子哥
阅读(627)
推荐(0) 编辑
Leetcode练习(Python):数学类:第168题:Excel表列名称:给定一个正整数,返回它在 Excel 表中相对应的列名称。
摘要:题目: Excel表列名称:给定一个正整数,返回它在 Excel 表中相对应的列名称。 例如, 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB ... 思路: 利用字典来做,思路较简单。 程序: class Solution: def conve
阅读全文
posted @
2020-05-06 15:42
桌子哥
阅读(808)
推荐(0) 编辑
Leetcode练习(Python):数学类:第69题:x 的平方根:实现 int sqrt(int x) 函数。 计算并返回 x 的平方根,其中 x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。
摘要:题目: x 的平方根:实现 int sqrt(int x) 函数。 计算并返回 x 的平方根,其中 x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 思路: 本题思路较简单。 程序: class Solution: def mySqrt(self, x: int) ->
阅读全文
posted @
2020-05-06 14:49
桌子哥
阅读(686)
推荐(0) 编辑
Leetcode练习(Python):数学类:第67题:二进制求和:给你两个二进制字符串,返回它们的和(用二进制表示)。 输入为 非空 字符串且只包含数字 1 和 0。
摘要:题目: 二进制求和:给你两个二进制字符串,返回它们的和(用二进制表示)。 输入为 非空 字符串且只包含数字 1 和 0。 提示: 每个字符串仅由字符 '0' 或 '1' 组成。1 <= a.length, b.length <= 10^4字符串如果不是 "0" ,就都不含前导零。 思路: 模拟二进制
阅读全文
posted @
2020-05-06 11:26
桌子哥
阅读(1078)
推荐(0) 编辑
Leetcode练习(Python):数学类:第50题:Pow(x, n):实现 pow(x, n) ,即计算 x 的 n 次幂函数。
摘要:题目: Pow(x, n):实现 pow(x, n) ,即计算 x 的 n 次幂函数。 说明: -100.0 < x < 100.0 n 是 32 位有符号整数,其数值范围是 [−231, 231 − 1] 。 思路:暴力法,然后做了下改进,纯粹的暴力法会超时。 程序: class Solution
阅读全文
posted @
2020-05-06 10:49
桌子哥
阅读(417)
推荐(0) 编辑
Leetcode练习(Python):数学类:第29题:两数相除:给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。 返回被除数 dividend 除以除数 divisor 得到的商。
摘要:题目: 两数相除:给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。 返回被除数 dividend 除以除数 divisor 得到的商。 整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) =
阅读全文
posted @
2020-05-05 19:28
桌子哥
阅读(670)
推荐(0) 编辑
Leetcode练习(Python):数学类:第13题:罗马数字转整数:给定一个罗马数字,将其转换成整数。
摘要:题目: 罗马数字转整数: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 X
阅读全文
posted @
2020-05-05 18:03
桌子哥
阅读(283)
推荐(0) 编辑
Leetcode练习(Python):数学类:第12题:整数转罗马数字:给定一个整数,将其转为罗马数字。输入确保在 1 到 3999 的范围内。
摘要:题目: 整数转罗马数字: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 X
阅读全文
posted @
2020-05-05 17:44
桌子哥
阅读(534)
推荐(0) 编辑
Leetcode练习(Python):数学类:第9题:回文数:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
摘要:题目: 回文数:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 进阶: 你能不将整数转为字符串来解决这个问题吗? 思路: 思路一:将整数转为字符串。 思路二:直接颠倒数字。 程序1: class Solution: def isPalindrome(self
阅读全文
posted @
2020-05-05 16:57
桌子哥
阅读(813)
推荐(0) 编辑
Leetcode练习(Python):数学类:第8题:字符串转换整数 (atoi):请你来实现一个 atoi 函数,使其能将字符串转换成整数。
摘要:题目: 字符串转换整数 (atoi):请你来实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下: 如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号
阅读全文
posted @
2020-05-05 16:46
桌子哥
阅读(346)
推荐(0) 编辑
Leetcode练习(Python):数学类:第7题:整数反转:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
摘要:题目: 整数反转:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 注意: 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2^31, 2^31 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。 思路: 思路简单。 程序: class Sol
阅读全文
posted @
2020-05-05 10:46
桌子哥
阅读(561)
推荐(0) 编辑