「LeetCode」:Math
LeetCode Math 专题记录。
10月初。
Albert Einstein:
“I believe that not everything that can be counted counts, and not everything that counts can be counted”
「并非所有重要的东西都是可以被计算的,也并不是所有能被计算的东西都那么重要。」
7. Reverse Integer[E]
Problem:
反转32bits的有符号数字,如果反转后会溢出则返回0.
Solution:
直观的解决它,先算出反转后的数字,用比较大小来看是否溢出。(最开始还想着转换为bit串来看,就复杂了)
1 | class Solution: |
十进制转换为二进制、八进制、十六进制:
- 二进制:
bin(a)
,也可以直接赋二进制的值0b10101
- 八进制:
oct(a)
,赋值八进制的值0o263361
- 十六进制:
hex(a)
,赋值十六进制0x1839ac29
- 二进制:
165. Compare Version Numbers[M]
165. Compare Version Numbers[M]
Problem:
比较版本号。
Solution:
直观~Easy~
1 | class Solution: |
- Python中的强制转换:
- 字符串转换为int :
int_value = int(str_value)
- int转换为字符串:
str.value = str(int_value)
- int转换为unicode:
unicode(int_value)
- unicode转换为int:
int(unicode_value)
- 字符串转换为unicode:
unicode(str_value)
- unicode转换为字符串:
str(unicode_value)
- 字符串转换为int :
- Java中的强制转换:
- 字符串String转化为int:
int_value = String.parseInt(string_value)
或者(int)string_value)
- int转化为字符串String:
string_value = (String)int_value
- 字符串String转化为int:
66. Plus One[E]
Problem:
用列表表示一个正数,返回正数+1的列表结果。
Solution:
记录一个最高位的进位情况。
1 | from typing import List |
Python中list添加元素的集中方法:(append(); extend(); insert(); +加号)
append() :在List尾部追加单个元素,只接受一个参数,参数可以是任意数据类型。
extend() :在list尾部追加一个列表,将该参数列表中的每个元素连接到原列表。
1
2
3
4
5>> a = [1,2,3]
>> b = [3,4,5]
>> a.extend(b)
>> a
[1, 2, 3, 3, 4, 5]insert(index, object):将一个元素插入到列表中,第一个参数是插入的索引点,第二个是插入的元素。
+加号:将两个list相加,返回一个新的list对象。
区别:前三种方法(append, extend, insert)可以对列表增加元素,没有返回值,是直接修改原数据对象,而+加号是需要创建新的list对象,需要消耗额外的内存。
「LeetCode」:Math