写点什么

ARTS_01 —— 23.8.14~23.8.20

作者:EchoZhou
  • 2023-08-18
    上海
  • 本文字数:1641 字

    阅读完需:约 5 分钟

ARTS_01 —— 23.8.14~23.8.20

1.Algorithm

合并俩个有序链表详见https://leetcode.cn/problems/merge-two-sorted-lists/

// 单链表类模型class ListNode {    val: number;    next: ListNode | null;    constructor(val?: number, next?: ListNode | null) {        this.val = val === undefined ? 0 : val;        this.next = next === undefined ? null : next;    }}// 当合并两个升序链表时,不断比较两个链表的节点值,选择较小的节点连接到新链表中,直到两个链表中的一个为空function mergeTwoLists(l1: ListNode | null, l2: ListNode | null): ListNode | null {    // head 哨兵节点 它的 next 指向最终合并后的链表的头部  	const head = new ListNode();  	// current 指针,初始时指向 head 节点,用于迭代构建新链表    let current = head;		//两个指针 l1 和 l2 分别指向两个输入链表的头部     while (l1 !== null && l2 !== null) {      //在每次迭代中,比较 l1 和 l2 当前节点的值,将较小的节点连接到 current 的后面,并将相应的指针后移一步        if (l1.val < l2.val) {            current.next = l1;            l1 = l1.next;        } else {            current.next = l2;            l2 = l2.next;        }        current = current.next;    }		// 如果其中一个链表为空,那么直接将另一个链表的剩余部分连接到 current 的后面    if (l1 !== null) {        current.next = l1;    } else if (l2 !== null) {        current.next = l2;    }
return head.next;}// 生成有序链表 1->2->4const l1 = new ListNode(1, new ListNode(2, new ListNode(4)));//// 生成有序链表 1->3->4const l2 = new ListNode(1, new ListNode(3, new ListNode(4)));const mergedList = mergeTwoLists(l1, l2);let current = mergedList;const result: number[] = [];while (current !== null) { result.push(current.val); current = current.next;}console.log(result);
复制代码

2.Review

详见https://benhoyt.com/writings/wordstar-diamond/


这篇文章作者分享了自己对古老文字处理软件 WordStar 的经历,以及如何在现代系统中继续使用其独特的按键绑定。WordStar 的按键设计能够在上世纪 70 年代就实现比鼠标更快速的文本导航。文章介绍了 WordStar 的菱形按键导航系统,通过 Ctrl 键配合 E、S、D 和 X 键,可以快速导航文本。

文章提到,WordStar 曾在 80 年代主导市场,深受作家喜爱,甚至连乔治·R·R·马丁都在 2020 年继续使用。作者强调,这套按键绑定不仅适合散文写作,也适用于代码编写,能够无需移动手指进行代码导航和重构。

作者的兄弟为现代系统创建了一组脚本,使 Caps Lock 键成为 WordStar 的控制键,不影响 Ctrl 键的正常功能。通过这些脚本,作者在各种程序中都能享受 WordStar 菱形导航的便利。文章鼓励读者分享这一解决方案,并推荐了 Berwyn 的'wordstar-keys'存储库。


3.Technique/Tips

移动端开发,慎用 100vh.

现象: 在移动端 chrome 浏览器中, 100vh 高度会出现滚动条。

原因:很多浏览器,会有地址栏计算在内,这会导致一系列预料之外的 BUG, 慎用 100vh

如何布局占满一屏,推荐使用:

html: <div></div>
样式设置:html,body { width: 100%; height: 100%;}div {height: 100%}
复制代码

最新的容器查询单位

  • cqw: 表示容器查询宽度(Container Query Width)占比,1cqw=容器宽度的 1%。

  • cqh: 表示容器查询高度(Container Query Height)占比,1 cqh = 容器高度的 1%


tips:这俩个单位的兼容性还不是很好,使用的时候注意应用设备。



4.Share

王小波的小说《黄金时代》第二十一章,主人公陈清扬在书中的一段内心独白。


有一次有一个小混混对我说,你想拯救世界,我说不,我不想,我只是想拯救自己。但是我又记起来另一句话,说你永远也叫不醒一个装睡的人。可我改一改,说你永远也叫不醒一个装睡的猪。我好像突然明白了什么。


“你永远无法叫醒一头装书的猪”,成了我经常说的一句话。希望我自己不要成为装睡的猪~

发布于: 刚刚阅读数: 2
用户头像

EchoZhou

关注

还未添加个人签名 2018-04-24 加入

还未添加个人简介

评论

发布
暂无评论
ARTS_01 —— 23.8.14~23.8.20_EchoZhou_InfoQ写作社区