有序数据结构在编程中(尤其是算法竞赛和竞技编程)非常实用。在 Python 中,主要由 Sorted Containers 库提供三种有序数据结构:SortedDict、SortedSet 和 SortedList。 深入理解 Python 有序数据结构:从内置到 SortedContainers Python 有序数据结构完整指南 Python 中的有序列表、字典与集合实战解析 带你玩转 Python SortedContainers 与内置排序结构 Python 开发者必读:SortedContainers 与内置数据结构对比 Python 有序数据结构教程 排序是编程中最常见的操作之一。Python 提供了多种方式来维护有序数据,从内置的列表、集合、堆,到第三方库 sortedcontainers。 本教程将介绍 …
前两天,我想查一下自己在 STEEM 区块链上一些重要记录对应的区块号,比如: 注册了我的账号 #4253590 成为见证人 #20190755 挖到我的第一个区块 #20390040 被孙宇晨大佬代理了 SP #41676911 收到一笔 DAO 收入 #95403889 当时手头只有时间戳,却不知道对应的是哪个区块,于是我想到可以用二分查找(binary search)算法来定位。 其实,这个思路在其它区块链上同样适用,并不依赖于特定的链(如 Steem、以太网/Ethereum、比特币/Bitcoin 等)。虽然具体的实现细节(RPC 方法名、时间戳格式等)会有所不同,但整体逻辑是一致的:通过 RPC API 获取某个区块的时间戳;获取最新区块作为上界;然后在区间内使用二分查找。通过多次查询区块时间戳,就能把给定的时间戳映射到最接近的区块号,算法复杂度约为 O(log N)。 当然,大多数区块链也会提供专门的 API …
这周我第一次参加微软的 Hackathon(黑客马拉松)。其实像微软、Amazon、Meta 这些科技大厂,每年都会举办 Hackathon,算是企业文化的一部分。微软的 Hackathon 一般在九月,持续三天,工程师和研究员们可以自由组队,围绕“Build”和“Hack”这两个主题搞一些有意思的项目。三天时间不太可能做出成熟的产品,所以重点是做一个 Prototype,最后再提交视频等材料参与评选。 去年也有一次 Hackathon,不过不是全公司级别的,没有奖项,但我还是折腾了一下,当作学习和玩乐。再往前两年,有个美国同事拉我进了他的 Hackathon 小组,但因为时差原因,我没能真正参与,只是顺手领了一件活动T-shirt衣服。 说到领衣服,今年周一在楼下就能领取,但需要刷工牌确认是参赛人员,每人限一件。本来我还想着能多领一件给我媳妇,可惜不行。 PS:这一周感觉比平时更忙更累。因为每天都去公司。 更新:竟然获得了当地(也就是剑桥/local)的奖,(团队所有成员)得到了一个杯子,不过这个杯子连个公司的LOGO都没有,上面写着 “> Hackathon Winner”,估计这第三方没印LOGO方便可以同时提供给好几家大厂(反正都是Hackathon)。 这里有一个公司拍的视频: 微软Hackathon全世界规模最大。 英文:This Year’s Microsoft’s Hackathon 本文一共 435 个汉字, 你数一下对不对. 这周第一次参加微软的Hackathon/黑客马拉松. (AMP …
给娃补课,数学三角函数。娃今天跟我说,数学课上用到的三角函数让他很confused,因为在公校根本没教过。以前就听说私校进度快,果然是真的。 顺便感谢一下 Meta,这块白板还是好多年前(疫情那年)面试 Meta 时送的,当时还能报销。 娃在公校的时候,数学袋鼠竞赛Gold金奖, 我媳妇说这就是普娃的天花板了”>数学算是数一数二的好。有次考试,一个同学问老师成绩,老师说,大部分分数在 3 到 4 分之间,但有一个人是 7 分。结果同学们都看着他,果然那个 7 分的就是他。但现在换到私校,还是剑桥、甚至全英最卷的私校,他立刻感受到了和学霸之间的差距。希望他不要落下太多。听说 Perse 私校为了保证升学率,每年还有大约 10% 的末位淘汰/劝退。 娃刚上私校两周,他最大的感受就是:作业怎么这么多!其实这就是现实——想要好的出路、好的考试结果,作业量必须得上来。相比之下,国外的公校更像是国家提供的福利,你爱学不学;反倒是咱们国内的公校,因为社会主义体制,国家出钱培养,管得更紧。 本文一共 448 个汉字, 你数一下对不对. 给娃补数学: 三角函数(因为公校还没教). (AMP 移动加速版本) 赞赏我的几个理由. …
最近 AI 手办图(Action Figure)特别火,尤其是 Google 推出的 Nano Banana 模型,网上已经能看到一大堆相关作品。相比之前流行的 Ghibli 风格,AI 生成的一致性和真实感提升很大。毕竟手办图是三维效果,看起来要比平面的卡通风格要真实好看得多。Ghibli(吉卜力)风格虽然在前阵子很火,但因为画面过于卡通和平面,看久了难免有点审美疲劳,容易显得千篇一律。 现在,不光是在 ChatGPT,PolloAI、Google AI Studio、PrintVerse,甚至 Grok 上,都能轻松生成类似的手办风格图片。只需要上传一张照片,再加上一点提示词就行。ChatGPT 免费版虽然一天只能上传三张照片,但它支持对已经生成的图继续修改,相当于“加提示词让 AI 做二次 PS”。 更有意思的是,这些 AI 生成的手办图几乎能做到以假乱真,甚至还能生成动态视频。想象一下,如果真能把照片或模型变成实体手办,那绝对是个有潜力的市场。比如在办公桌上摆个大美女手办,不光养眼,还能每天给点“情绪价值”,心情肯定愉快不少。 PolloAI这工具真强大,只需要一张图+提示词,就可以进行文生图、文生视频。 PS:AI生成的图质量参差不齐,有时候生成的图太难看太假了,得多试。 生成手办的提示词 仅供参考:当然还有一小技巧,你可以把你看到的好看的手办图扔给AI,问它提示词。 …
前两天我的 C 盘剩余空间突然变红了,我随手一查,竟然发现微信 PC 端程序居然占用了 1.39 TB 的空间,简直不可思议。在手机上,微信同样是名列前茅的“吞空间大户”,在 设置 → 通用 → 手机存储空间 里几乎稳居第一。 更离谱的是,这些空间大多并不是因为聊天记录,而是各种缓存文件、视频、图片和被动接收的文件所堆积起来的。平时我们只是点开看一眼,就算没保存下来,微信也会悄悄把它们留在本地,占据大量磁盘。尤其是群聊里转发的视频和文件,日积月累就成了一个“隐形黑洞”。 想到这里我才意识到,微信其实早就成了一个“半操作系统”,不仅是聊天工具,更是支付、工作、娱乐、甚至文件传输的中枢。但正因为功能繁杂,它像滚雪球一样,数据越堆越多。如果不及时清理,我们的电脑和手机就会被它拖得越来越笨重。 以前程序员写程序时,可都是绞尽脑汁省内存、优化每一行代码,哪怕一点缓存都要精打细算。可如今 PC 内存和硬盘空间都巨大,程序员们反而越来越随意,功能堆得满满的,程序越来越臃肿。微信、浏览器、办公软件……几百 GB、上 TB 的占用早已不算稀奇,效率提升了,但“轻巧优雅”的软件时代似乎也离我们越来越远了。 快速清理微信占用空间 其实最直接的方法就是进入微信的 设置 → 通用 → 存储空间,在里面可以看到聊天记录、缓存、图片、视频等分类占用的大小,选择性清理或批量删除即可;如果是 …