
获得徽章 27
赞了这篇文章
评论
点赞
评论
点赞
评论
点赞
#刷题交流#
又学到了,格式化数字为带千分位逗号字符串的办法。
"{:,}".format
def solution(s: str) -> str:
if '.' in s:
integer_part, decimal_part = s.split('.')
else:
integer_part, decimal_part = s, None
# 使用 "{:,}".format 将整数部分格式化为带千分位逗号的字符串
formatted_integer = "{:,}".format(int(integer_part))
if decimal_part:
return formatted_integer + '.' + decimal_part
else:
return formatted_integer
if __name__ == '__main__':
print(solution("1294512.12412") == '1,294,512.12412')
print(solution("0000123456789.99") == '123,456,789.99')
print(solution("987654321") == '987,654,321')
又学到了,格式化数字为带千分位逗号字符串的办法。
"{:,}".format
def solution(s: str) -> str:
if '.' in s:
integer_part, decimal_part = s.split('.')
else:
integer_part, decimal_part = s, None
# 使用 "{:,}".format 将整数部分格式化为带千分位逗号的字符串
formatted_integer = "{:,}".format(int(integer_part))
if decimal_part:
return formatted_integer + '.' + decimal_part
else:
return formatted_integer
if __name__ == '__main__':
print(solution("1294512.12412") == '1,294,512.12412')
print(solution("0000123456789.99") == '123,456,789.99')
print(solution("987654321") == '987,654,321')
展开
评论
点赞
#刷题交流# 今天学到了异或交换律的用法,用来查找是不重复的数,很厉害的样子。
问题描述
在一个班级中,每位同学都拿到了一张卡片,上面有一个整数。有趣的是,除了一个数字之外,所有的数字都恰好出现了两次。现在需要你帮助班长小C快速找到那个拿了独特数字卡片的同学手上的数字是什么。
要求:
设计一个算法,使其时间复杂度为 O(n),其中 n 是班级的人数。
尽量减少额外空间的使用,以体现你的算法优化能力。
def solution(cards):
result = 0
for card in cards:
result ^= card
return result
if __name__ == "__main__":
# Add your test cases here
print(solution([1, 1, 2, 2, 3, 3, 4, 5, 5]) == 4)
print(solution([0, 1, 0, 1, 2]) == 2)
异或运算的特性
相同数字异或结果为0:例如 a ^ a = 0。
任何数字与0异或结果为该数字本身:例如 a ^ 0 = a。
异或运算满足交换律和结合律:即 a ^ b ^ c = a ^ c ^ b。
问题描述
在一个班级中,每位同学都拿到了一张卡片,上面有一个整数。有趣的是,除了一个数字之外,所有的数字都恰好出现了两次。现在需要你帮助班长小C快速找到那个拿了独特数字卡片的同学手上的数字是什么。
要求:
设计一个算法,使其时间复杂度为 O(n),其中 n 是班级的人数。
尽量减少额外空间的使用,以体现你的算法优化能力。
def solution(cards):
result = 0
for card in cards:
result ^= card
return result
if __name__ == "__main__":
# Add your test cases here
print(solution([1, 1, 2, 2, 3, 3, 4, 5, 5]) == 4)
print(solution([0, 1, 0, 1, 2]) == 2)
异或运算的特性
相同数字异或结果为0:例如 a ^ a = 0。
任何数字与0异或结果为该数字本身:例如 a ^ 0 = a。
异或运算满足交换律和结合律:即 a ^ b ^ c = a ^ c ^ b。
展开
评论
点赞
def solution(cards):
result = 0
for card in cards:
result ^= card
return result
if __name__ == "__main__":
print(solution([1, 1, 2, 2, 3, 3, 4, 5, 5]) == 4)
print(solution([0, 1, 0, 1, 2]) == 2)
print(solution([7, 3, 3, 7, 10]) == 10)
================================
如题: result ^= card这个向上的箭头什么意思啊?
result = 0
for card in cards:
result ^= card
return result
if __name__ == "__main__":
print(solution([1, 1, 2, 2, 3, 3, 4, 5, 5]) == 4)
print(solution([0, 1, 0, 1, 2]) == 2)
print(solution([7, 3, 3, 7, 10]) == 10)
================================
如题: result ^= card这个向上的箭头什么意思啊?
展开
评论
点赞