background picture of the home page

Java炒饭

python数据分析

本文介绍了Python数据分析的核心工具:NumPy、Pandas和Matplotlib。首先介绍了Anaconda和Jupyter Notebook的使用环境及常用快捷键。重点讲解了NumPy中的ndarray对象,包括其多维性、同质性和高效性特性,详细说明了数组的创建、属性(如shape、dtype、T等)、数据类型、索引切片操作以及基本数学运算。通过示例展示了如何利用NumPy进行向量化计算和高效数据处理。文章为后续学习Pandas和数据可视化奠定了基础,整体内容围绕科学计算核心功能展开,适用于数据分析初学者快速掌握NumPy基本用法。

thumbnail of the cover of the post

P44 通配符匹配

本文讲解力扣第44题“通配符匹配”,是一道典型的线性动态规划问题。给定字符串 `s` 和模式串 `p`,其中 `p` 包含普通字符、`?`(匹配任意单个字符)和 `*`(匹配任意字符串,包括空串),判断两者是否完全匹配。解法使用二维DP数组 `f[i][j]` 表示 `s` 的前 `i` 个字符与 `p` 的前 `j` 个字符是否匹配。初始化时考虑 `*` 可匹配空串,状态转移分三种情况:当 `p[j-1]` 为 `*` 时,可继承 `f[i][j-1]` 或 `f[i-1][j]`;否则若字符相等或为 `?`,则依赖 `f[i-1][j-1]`。最终结果为 `f[n][m]`。代码清晰地实现了该逻辑,时间复杂度为 O(nm)。

thumbnail of the cover of the post

P43 字符串相乘

本文讲解LeetCode“字符串相乘”问题的解法。作者指出该题属于高精度乘法,不能直接转换为整型计算以避免溢出。解法模拟竖式乘法过程:用两个嵌套循环处理每一位的相乘,并将结果累加到对应位置。随后统一处理进位,最后将结果数组转为字符串并去除前导零。代码使用C++实现,通过倒序遍历原字符串完成逐位运算,最终返回正确结果。关键细节包括进位处理和前导零的删除,确保输出格式正确。题目虽思路直观,但边界处理需谨慎。

thumbnail of the cover of the post