Lhcfl 最近的时间轴更新
Lhcfl

Lhcfl

V2EX 第 627642 号会员,加入于 2023-05-06 20:52:06 +08:00
Lhcfl 最近回复了
9 天前
回复了 Amose2024 创建的主题 C++ C++入门书籍,我是不是被坑了?
确实被坑了,拿 C++ Primer Plus 入门有点太中式高等教育了的感觉了,虽然我也没有能推荐的更好的书
14 天前
回复了 levelworm 创建的主题 程序员 不知道为什么,我很厌恶 map()
这个没办法,python 的语法就是丑,毕竟发明人就讨厌 lambda 函数,换 js 的 data["item"].map((x) => x.id) 不好吗
172 天前
回复了 sgld 创建的主题 Python for 循环里面的迭代器到底怎么迭代的
不要写这样的代码,会跑出 O(n^2 )的时间复杂度,而且如果是 C++的话这是典型的 undefined behaviour ,以及都用 python 了研究迭代器怎么迭代的干什么,把它当成黑盒模型用就好了
181 天前
回复了 abc0def 创建的主题 程序员 从 n 个数里面随机取 m 个数
很好写啊,用一个伪的数组。已知 array shuffle 是每次将 a[i] 与 a[i ~ n] 中的某个元素交换。你把这个过程 lazy 一下,每次 generate 就输出 (mapped[i] || i) swap (getRandom(n-i) + i),这样每次操作都是 O(1)的,空间也是复杂度也很优秀。
还可以了,会抽象和封装已经赛过 99%的准高一
207 天前
回复了 nbin2008 创建的主题 JavaScript 请教大家一个问题, js,异步执行
不考虑多线程:
function makeGetD() {
let datas = [];
let promise = null;
let canNext = true;
const getD = async () => {
if (datas.length > 0) return datas.pop();
if (promise == null) {
if (!canNext) return;
canNext = false;
setTimeout(() => (canNext = true), 2000);
promise = new Promise(res => setTimeout(() => {
console.log("i'm ajax"); res([1,2,3,4,5,6,7,8,9,10]);
}, 300));
}
datas = await promise;
promise = null;
return await getD();
}
return getD;
}

getD = makeGetD();
207 天前
回复了 dota22kk 创建的主题 程序员 纯小白关于编程学习的问题
@diagnostics 那也是,不过楼主即使是学基础语法流也最好别从 Java 开始。无论如何都更推荐第一课就能看到 REPL 的 JavaScript 或者 python ,所以我比较推荐去找个这类的开源项目(尤其是前端),看到不懂的就 console.log 一下多好办。而且这俩也是现代语言,比上来就是(对初学者而言)很难理解的的#include 和 main 函数的要好多了
207 天前
回复了 dota22kk 创建的主题 程序员 纯小白关于编程学习的问题
@dota22kk 别从 java 学起,这种做法很像应试教育那种硬塞知识点。可以试试直接去找一个开发者比较 friendly 的开源软件用用看看它是怎么工作的,然后去看它的源代码是什么语言,尝试去了解某个功能运作的逻辑,看看它的源代码。熟悉以后还可以学着自己往里面加功能,甚至是 PR 过去

~~利益相关:笨人就是这样被这个软件的公司邀请去实习了(呃)~~
果然程序员什么都能吵起来,尤其是《什么是最好的语言》
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2895 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 13ms · UTC 13:28 · PVG 21:28 · LAX 05:28 · JFK 08:28
Developed with CodeLauncher
♥ Do have faith in what you're doing.