liuqinh2s' blog

Do something cool!


  • 首页

  • 关于

  • 标签

  • 归档

  • 前端面试

  • 新闻

  • 收藏

  • 导航

  • 搜索

css居中的最佳实践

发表于 2022-12-13 | 更新于: 2025-09-30
字数统计: 731

居中是 css 中很重要的一个基础知识,主要分三个方向讨论:

  1. 水平居中 or 垂直居中
  2. 文本居中 or 容器居中(块级元素)
  3. 设置父容器 or 设置自身 or 都需要设置
阅读全文 »

行内元素和块级元素

发表于 2022-12-08 | 更新于: 2025-09-30
字数统计: 628

行内元素和块级元素算是 css 中最基础,也是最重要的部分了。需要彻底掌握才行。

比如,width 和 height 跟父节点和子节点的关系到底是什么,默认是什么?行内元素的 padding 和 margin 能设置吗?

阅读全文 »

加密货币收藏网址

发表于 2022-11-30 | 更新于: 2025-09-30
字数统计: 259
  • Getting started | Bitcoin Design
阅读全文 »

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

发表于 2022-11-29 | 更新于: 2025-09-30
字数统计: 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-09-30
字数统计: 2,343

什么是副作用函数?

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

举个例子:

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

liuqinh2s

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