拆分数位后四位数字的最小和
问题描述(来源于LeetCode) 给定一个四位正整数 num,使用所有数位拆成两个新的整数 new1 和 new2(可以有前导0),返回可以得到的最小和。 解题思路分析 问题本质 这是一个组合优化问题,需要找到将四个数字分成两组的最佳方式,使得两个两位数的和最小。 核心洞察 要使两个两位数的和最小: 将最小的两个数字放在十位 将较大的两个数字放在个位 这样能确保两个数都尽可能小 数学证明 对于四个排序后的数字 a ≤ b ≤ c ≤ d: 最优分配:10a + d 和 10b + c 总和:10(a + b) + (c + d) 代码实现 12345678910111213141516class Solution: def minimumSum(self, num: int) -> int: 分解四位数字 a = num % 10 # 个位 b = (num // 10) % 10 # 十位 c = (num // 100) % 10 # 百...
最小偶倍数
问题描述(来源于LeetCode) 给定一个正整数 n,返回 2 和 n 的最小公倍数(正整数)。 解题思路分析 问题本质 求两个数的最小公倍数(LCM)问题,但其中一个数是固定的2。 数学原理 两个数的最小公倍数 = (a × b) ÷ 最大公约数(GCD) 对于数字2和任意整数n: 如果n是偶数,2和n的最大公约数是2,最小公倍数是n 如果n是奇数,2和n的最大公约数是1,最小公倍数是2 × n 代码实现 方法一:条件判断法 123456class Solution: def smallestEvenMultiple(self, n: int) -> int: if n % 2 == 0: return n else: return 2 * n 算法详解 通过判断n的奇偶性来决定结果: 偶数情况:n能被2整除,2和n的最小公倍数就是n本身 奇数情况:n不能被2整除,2和n的最小公倍数是2 × n 复杂度分析 时间复杂度: O(1) - 一...
两整数相加
问题描述(来源于LeetCode) 给定两个整数 num1 和 num2,返回这两个整数的和。 解题思路分析 问题本质 这是一个基础的算术运算问题,考察对编程语言基本运算符的掌握程度。 核心思路 直接使用加法运算符 + 计算两个整数的和。 代码实现 123class Solution: def sum(self, num1: int, num2: int) -> int: return num1 + num2 算法详解 实现步骤 接收参数:获取两个整数 num1 和 num2 计算和:使用加法运算符直接计算 返回结果:返回计算结果 关键点 直接使用语言内置的加法运算符 不需要任何额外的数据处理或转换 复杂度分析 时间复杂度:O(1) 只进行一次加法运算 空间复杂度:O(1) 不使用额外的存储空间 边界情况考虑 正常情况 12输入:num1 = 12, num2 = 5输出:17 特殊情况 包含零的情况 12输入:num1 = 0, num2 = 5输出:5 负数情况 12...
11.13 日常 | 直觉的陷阱与品牌的力量
今天继续阅读《思考,快与慢》的第三部分,深入了解了几个影响我们判断的重要概念: 大数定律:样本量越大,结果越接近理论预期 小数定理:人们倾向于从小样本中过度推断结论 锚定效应:初始值会像“锚”一样制约后续判断 这些原理揭示了系统1(快思考)如何在无意识中主导我们的决策。书中提醒我们:无论直觉准确与否,都需要保持警惕。通过大量专注的练习和在合适环境下的应用,我们能够提升直觉的可靠性,但这需要持续的自我觉察。 今天还读到一篇关于苹果公司新款手机袋的短文。这款与三宅一生合作设计的布质手机袋起价150美元,引发了广泛争议。有人批评其定价过高,也有人赞赏其设计理念。这让我深刻感受到品牌效应的力量——当品牌积累足够的影响力时,即使看似简单的产品也能获得市场关注。 今日学习进展: 上午完成了离散数学作业 中午刷了4道LeetCode算法题(包括两数相加、最小偶倍数等基础题型) 晚上学习了微机原理第三章,计划明天整理笔记 从认知偏见到商业策略,从数学证明到系统编程,今天依然是在多重思维维度间穿梭的一天。保持理性的思考,同时理解感性的选择,或许就是我们这个时代需要...
11.12 日常 | 思考的顺序与善意的本能
今天继续阅读《思考,快与慢》。在第一部分中,我了解到人类思维运作的两种基本模式——系统1(快思考)与系统2(慢思考)。它们并无绝对的高下之分,而是各有所长:系统1依赖直觉与经验,是我们日常决策的主力;系统2则更理性、审慎,在复杂情境下被唤醒。 书中提到一个经典心理学实验,让我印象深刻: “所罗门·阿希曾描述两个人——艾伦与本,请受试者评价他们的性格: 艾伦:聪明—勤奋—冲动—爱挑剔—固执—忌妒心强 本:忌妒心强—固执—爱挑剔—冲动—勤奋—聪明 尽管两人特质完全相同,仅顺序相反,大多数人却更喜欢艾伦。前几条特质会改变我们对后续特质的理解——我们愿原谅聪明人的固执,却会因忌妒者的聪明而警觉。” 原来,顺序本身就在无声地塑造我们的认知。这也让我联想到,“白月光之所以无可替代”,或许不仅因为那个人本身,也因ta出现在我们生命序列中最恰当的位置。 晚上读了一篇关于“潜在英雄”的短文。研究指出,人在危急时刻并非如电影中那样恐慌逃散,反而常会展现出自然的利他倾向。“旁观者冷漠”实为误解,团结互助才是人性底色。这令人感到温暖,也提醒我们:善意本就埋藏在每个人的本能之中。 今天,...
温度转换
问题描述(来源于leetcode) 给定一个四舍五入到两位小数的非负浮点数 celsius 表示摄氏度,需要将其转换为开氏度和华氏度,并以数组 [kelvin, fahrenheit] 的形式返回结果。 转换公式 开氏度 = 摄氏度 + 273.15 华氏度 = 摄氏度 × 1.80 + 32.00 注意: 与实际答案误差不超过 10⁻⁵ 的结果被视为正确。 解法分析 这是一个基础的数学计算问题,直接应用给定的转换公式即可解决。 代码实现 12345class Solution: def convertTemperature(self, celsius: float) -> List[float]: Kelvin = celsius + 273.15 Fahrenheit = celsius * 1.80 + 32.00 return [Kelvin, Fahrenheit] 算法详解 步骤分解 接收输入:获取表示摄氏度的浮点数 celsius 计算开氏度:使用公式 Kelvin = celsius + 27...
两数之和
问题描述(问题来源于LeetCode) 给定一个整数数组 nums 和一个整数目标值 target,在数组中找出和为目标值的那两个整数,并返回它们的数组下标。 假设每种输入只会对应一个答案,并且不能使用两次相同的元素。 示例: 12345text输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:nums[0] + nums[1] = 2 + 7 = 9 解法:暴力枚举 思路分析 通过两层循环遍历所有可能的数字组合,检查它们的和是否等于目标值。 代码实现 12345678pythonclass Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: for i in range(len(nums)): for j in range(i + 1, len(nums)): if nums[i] + nums[j] == target: ret...
11.11 日常 | 细菌、量子与延迟工作
今天早上读了一篇很有意思的科普短文,探讨了我们穿着外衣直接坐在床上是否会带来细菌污染。文章指出,虽然理论上衣物可能成为病菌传播的媒介,但实际风险很低——大多数病原体在织物上存活时间很短,且需要达到一定数量才能致病。不过,如果家里有免疫力较弱的成员,或是衣物被明显污染时,及时更换仍是明智之举。 中午终于读完了《上帝掷骰子吗》这本量子物理科普书。虽然之前通过《时间简史》对部分内容有所了解,但这次阅读仍让我收获颇丰,特别是对“观察者效应”和“超弦理论”有了更深入的理解。量子世界的发展史充满了意外与突破,许多伟大发现往往在多年后才显现其深远意义。 下午完成了操作系统实验二,晚上则练习了一道LeetCode算法题——经典的“两数之和”。我采用了暴力枚举的解法,虽然时间复杂度较高(O(n²)),但胜在思路直观,适合小规模数据。 12345678pythonclass Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: for i in range(len(nums)): ...
微型计算机概述
1基本概念 1.1 微处理器: CPU内核 单核处理器 多核处理器 微型计算机 微型计算机系统 单片机 单片机系统 Soc(System on Chip) 嵌入式系统 1.2微型计算机系统的简化结构 1.3嵌入式系统的特点 以应用为核心, 以计算机技术为基础, 软、硬件可“裁剪”, 适合对功能、实时性、可靠性、安全性、体积、重量、成本、功耗、环境、安装方式等方面有严格要求的专用计算机系统。 更强功能、更小尺寸的高级单片机系统。 2 微处理器概述 3 微型计算机(PC)概述 3.1 硬件 ①微型计算机(主机): CPU、系统总线、内存、接口 ②外围设备: 外部设备 输入设备、输出设备、辅助存储器 辅助设备:电源电路、时钟电路 3.2 软件 ①系统软件: 对各部分硬件管理、协调:OS 编程语言开发工具、数据库管理系统、 硬件监测诊断工具 ②应用软件(用户软件) 3.3 PC的基本组成 内存:也称主存,CPU可直接访问的存储器。 4 习题练习 1.8088是____位处理器 解答:8088是16位...
11.10 日常 | 量子、单调栈与生活的细节
上午写完了离散数学的作业,在集合与逻辑的世界里完成了一次思维的漫步。 下午则整理了微机原理的第一章——微型计算机概述,将那些基础的架构与概念重新梳理,为后续的学习打下地基。 今天的阅读依旧是《上帝掷骰子吗?》。这本关于量子物理发展的科普书,其中大部分内容我其实已在《时间简史》中有所涉猎,因此阅读的新鲜感不免减弱。但既然打开了,还是决定把它读完——每一本科普作品都凝聚着作者的心血,不应被轻易辜负。 今天读到了“薛定谔的猫”这一经典思想实验的提出。再次回顾量子力学这段充满争议与突破的历史,不禁感叹:许多伟大的发现,往往诞生于不经意的瞬间,或是其深远意义要经过漫长时光才能被真正理解。这种“延迟的震撼”,恰恰是科学史最迷人的地方之一。 今天还读了两篇短文。一篇谈及塑造我们的,往往是生活中那些微小的细节;另一篇则介绍了一个关于人际交流的四种状态模型,简洁而富有启发性。 晚上继续刷题,学习了单调栈算法。这种数据结构在处理“下一个更大元素”类问题时,展现出一种优雅的简洁与高效。 今天,是从数学到物理,从理论到实践,从宏大叙事到生活细节的一天。世界由量子的不确定性与人际交流的确定性共同构成,...














