liuqinh2s' blog

Do something cool!


  • 首页

  • 关于

  • 标签

  • 归档

  • 编程笔记

  • 新闻

  • 收藏

  • 思考

  • 前端面试

  • 力扣

  • 计算机科学

  • 量化交易

  • 英语

  • 导航

  • 阅读

  • 搜索

leetcode 902. 最大为 N 的数字组合

发表于 2022-11-29 | 更新于: 2025-08-25
字数统计: 403

这题是数位 dp 类型的题,遍历对象有两个:

  1. 遍历 N 的每一位
  2. 遍历 digits

问题规模是 N 的位数。

状态转移方程是这样思考得出:

在遍历 digits 时,设当前 digits 的值为 digits[i]:

  1. 如果 digits[i]比 N 的第 j 位的数字小,则低位的数字就可以任意,那么由 digits[i]开头所产生的组合数是:digits.length**(j-1)。
  2. 如果 digits[i]等于 N 的第 j 位数字,则还要继续对比第 j-1 位才知道能否凑出一个比 N 小的,也即递归,缩小问题规模。产生组合:dp[j-1]
  3. 如果 digits[i]大于 N 的第 j 位数字,则后面低位的数字不管是什么,都已经不能产生小于 N 的组合了。产生组合:0

把每个 digits[i]对应的结果加起来,就是当前问题规模(问题规模为:j)的答案。

状态转移方程:

1
2
3
4
5
if (digits[i] < N[j]) {
dp[j] += digits.length ** (j - 1);
} else if (digits[i] == N[j]) {
dp[j] += dp[j - 1];
}
阅读全文 »

vue.js响应系统的实现 第一篇

发表于 2022-11-06 | 更新于: 2025-08-25
字数统计: 2,343

什么是副作用函数?

如果一个函数只是接收输入,然后输出,没有影响外部(比如修改外部变量),那么我们就说这个函数没有副作用,反之就是有副作用。理想的情况下,我们希望所有的函数都很纯粹,没有副作用。

举个例子:

1
2
3
function effect() {
document.body.innerText = "hello vue3";
}
阅读全文 »

React Diff 算法

发表于 2022-08-15 | 更新于: 2025-08-25
字数统计: 456
每次面试问到了解 React Diff 算法吗?我都不知道说什么,这次总结一下,该怎么说。 首先我们应该思考为什么要有这么一个东西,也就是它的目的是什么? 目的React Diff 算法的目的是优化真实 DOM 更新,手段是搞一套虚拟 DOM 树,并对比新旧虚拟 DOM 树的差异,然后只对有虚拟 D ...
阅读全文 »

HTTP缓存

发表于 2022-08-13 | 更新于: 2025-08-25
字数统计: 1,345
参考https://github.com/amandakelake/blog/issues/41 概述基本原理浏览器在请求资源的时候,根据请求头的 expires 和 cache-control 判断是否命中强缓存,是则直接从缓存读取资源,不会发请求到服务器。 如果没有命中强缓存,浏览器一定会发送一 ...
阅读全文 »

GET 请求和 POST 请求的区别

发表于 2022-08-12 | 更新于: 2025-08-25
字数统计: 302
使用上的区别 GET 请求参数放在 URL 上,POST 请求参数放在请求体里 GET 请求参数长度有限制,POST 请求的参数长度可以非常大 POST 请求相对 GET 请求来说安全一点,因为 GET 请求参数在 URL 上,而且有历史记录 GET 请求能缓存,POST 请求不能 本质区别其实 ...
阅读全文 »
1…789…22
liuqinh2s

liuqinh2s

108 日志
46 标签
RSS
GitHub Twitter
Links
  • liam
  • jiyanggg
  • 曾小乱 – 在描绘他的生活倒影
© 2025 liuqinh2s | Site words total count: 119.4k
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4