当前位置: 首页 > article >正文

【力扣:新动计划,编程入门 —— 题解 ①】

向前看,总会有新的故事值得期盼

                                        —— 25.1.21

2235. 两整数相加

给你两个整数 num1 和 num2,返回这两个整数的和。

示例 1:

输入:num1 = 12, num2 = 5
输出:17
解释:num1 是 12,num2 是 5 ,它们的和是 12 + 5 = 17 ,因此返回 17 。

示例 2:

输入:num1 = -10, num2 = 4
输出:-6
解释:num1 + num2 = -6 ,因此返回 -6 。
class Solution:
    def sum(self, num1: int, num2: int) -> int:
        return num1 + num2


2469. 温度转换

给你一个四舍五入到两位小数的非负浮点数 celsius 来表示温度,以 摄氏度Celsius)为单位。

你需要将摄氏度转换为 开氏度Kelvin)和 华氏度Fahrenheit),并以数组 ans = [kelvin, fahrenheit] 的形式返回结果。

返回数组 ans 。与实际答案误差不超过 10-5 的会视为正确答案

注意:

  • 开氏度 = 摄氏度 + 273.15
  • 华氏度 = 摄氏度 * 1.80 + 32.00

示例 1 :

输入:celsius = 36.50
输出:[309.65000,97.70000]
解释:36.50 摄氏度:转换为开氏度是 309.65 ,转换为华氏度是 97.70 。

示例 2 :

输入:celsius = 122.11
输出:[395.26000,251.79800]
解释:122.11 摄氏度:转换为开氏度是 395.26 ,转换为华氏度是 251.798 。
class Solution:
    def convertTemperature(self, celsius: float) -> List[float]:
        ans = [celsius + 273.15, celsius * 1.80 + 32.00]
        return ans


2413. 最小偶倍数

给你一个正整数 n ,返回 2  n 的最小公倍数(正整数)。

示例 1:

输入:n = 5
输出:10
解释:5 和 2 的最小公倍数是 10 。

示例 2:

输入:n = 6
输出:6
解释:6 和 2 的最小公倍数是 6 。注意数字会是它自身的倍数。

注:

1.range(stop)生成一个从 0 开始,到 stop 结束(但不包括 stop)的整数序列。 

2.range(start, stop)生成一个从 start 开始,到 stop 结束(但不包括 stop)的整数序列。

3.range(start, stop, step)生成一个从 start 开始,到 stop 结束(但不包括 stop)的整数序列,每次递增 stepstep 不能为 0,否则会引发 ValueError

class Solution:
    def smallestEvenMultiple(self, n: int) -> int:
        num = 2
        for i in range(n, 2 * n + 1):
            if i % 2 == 0 and i % n == 0:
                return i


2236. 判断根结点是否等于子结点之和

给你一个 二叉树 的根结点 root,该二叉树由恰好 3 个结点组成:根结点、左子结点和右子结点。

如果根结点值等于两个子结点值之和,返回 true ,否则返回 false 。

示例 1:

输入:root = [10,4,6]
输出:true
解释:根结点、左子结点和右子结点的值分别是 10 、4 和 6 。
由于 10 等于 4 + 6 ,因此返回 true 。

示例 2:

输入:root = [5,3,1]
输出:false
解释:根结点、左子结点和右子结点的值分别是 5 、3 和 1 。
由于 5 不等于 3 + 1 ,因此返回 false 。

提示:

  • 树只包含根结点、左子结点和右子结点
  • -100 <= Node.val <= 100
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution:
    def checkTree(self, root: Optional[TreeNode]) -> bool:
        if root.val == root.left.val + root.right.val:
            return True
        else:
            return False


1486. 数组异或操作

给你两个整数,n 和 start 。

数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 n == nums.length 。

请返回 nums 中所有元素按位异或(XOR)后得到的结果。

示例 1:

输入:n = 5, start = 0
输出:8
解释:数组 nums 为 [0, 2, 4, 6, 8],其中 (0 ^ 2 ^ 4 ^ 6 ^ 8) = 8 。
     "^" 为按位异或 XOR 运算符。

示例 2:

输入:n = 4, start = 3
输出:8
解释:数组 nums 为 [3, 5, 7, 9],其中 (3 ^ 5 ^ 7 ^ 9) = 8.

示例 3:

输入:n = 1, start = 7
输出:7

示例 4:

输入:n = 10, start = 5
输出:

什么是异或运算

异或运算通常用符号 “^” 表示。它是对两个二进制位进行操作,当两个操作数的对应位不同时,结果为 1;当两个操作数的对应位相同时,结果为 0。

  • 对于单个二进制位的异或运算,其规则可以总结为:0 ^ 0 = 0,0 ^ 1 = 1,1 ^ 0 = 1,1 ^ 1 = 0。
  • 对于多个二进制位的整数,异或运算按位进行。

① 自反性:对于任意整数a,有a ^ a == 0。例如4 ^ 4的结果为0。这是因为相同的数在二进制表示下,每一位都相同,异或运算的规则是相同为0,不同为1,所以结果为0

② 与0的运算性质:对于任意整数a,有a ^ 0 == a。例如7 ^ 0的结果为7。因为0的二进制表示中每一位都是0,与a进行异或运算时,a的每一位都保持不变,所以结果就是a本身。

③ 奇偶性判断:可以通过对一个整数的二进制表示中1的个数进行异或运算来判断其奇偶性。如果1的个数为奇数,那么该数为奇数;如果1的个数为偶数,那么该数为偶数。这是因为异或运算具有 “相同为0,不同为1” 的特性,对二进制位进行异或操作可以统计1的个数的奇偶性

④ 对特定值的连续异或规律:对同一个值进行连续的异或运算会呈现出一定的规律。例如,对一个整数a连续与另一个整数b进行异或运算:a ^ b ^ b ^ b ^... ^ bb出现偶数次),最终结果还是a;如果b出现奇数次,最终结果为a ^ b

class Solution:
    def xorOperation(self, n: int, start: int) -> int:
        res = 0
        for i in range(n):
            res ^= (start + i * 2)
        return res


http://www.kler.cn/a/513348.html

相关文章:

  • Java 中 final 关键字的奥秘
  • 京华春梦,守岁这方烟火人间
  • 线程池 | java中的多线程
  • Docker 实现MySQL 主从复制
  • 【Python】循环语句
  • Linux下MySQL的简单使用
  • 重学SpringBoot3-WebClient配置与使用详解
  • Spring Boot 中的 InitializingBean:Bean 初始化背后的故事
  • 2025年前端面试题汇总
  • 深度解析:CentOS 系统的硬件资源优化技巧
  • IoTDB Pipe 数据同步提示内存不足,如何调整
  • 亚博microros小车-原生ubuntu支持系列:2-摄像头控制
  • 小型分布式发电项目优化设计方案
  • SD换脸插件Reactor的安装教程
  • Kotlin 2.1.0 入门教程(三)
  • 使用插件SlideVerify实现滑块验证
  • 每日一题洛谷P2669 [NOIP2015 普及组] 金币c++
  • 使用 Babylon.js 开发时如何通过 CSS 实现 UI 自适应
  • 算法竞赛之差分进阶——等差数列差分 python
  • 【Pytest】基础到高级功能的理解使用
  • AI时代:安全的新挑战与新机遇
  • colmap ninja 时遇到undefined reference to `TIFFFieldTag@LIBTIFF_4.0‘错误
  • vite共享选项之---css.preprocessorOptions
  • mac 安装 python2
  • 【Knife4j与Swagger的区别是什么?】
  • 「2024·我的成长之路」:年终反思与展望