摘要:
python 利用闭包模拟 c 静态局部变量效果 c 静态局部变量 c 语言中静态局部变量只有在第一次被使用时初始化一次.示例如下: #include <stdio.h> int next_num() { static int a = 0; return ++a; } int main() { fo 阅读全文
摘要:
最小高度树 题目出处: https://leetcode-cn.com/problems/minimum-height-trees/ 目标 对于一个具有树特征的无向图中, 找出一个根节点, 使的构成的树高度最小. 上图: 第一个例子中,只有以 1 为 root 时高度为 1,以 0,2,3 为 ro 阅读全文
摘要:
async await 闲谈 yield 和 yield from 在该例子中,首先创建了一个生成器对象 ,然后不断使用 一步步执行,在执行过程中进入 生成器,执行完后又返回到 中. 执行结果: 上面的例子中使用 for 循环执行子生成器,当子生成器很多时,这无疑是件很繁琐的事情, 的作用正是为了解 阅读全文
摘要:
回溯算法 回溯算法本质上就是枚举,它可能适合应用于缺乏规律,或我们还不了解其规律的搜索场景中. 求解一般模式 1. 找到每一步求解时的状态; 1. 更新状态,使用新状态求解; 1. 查看是否可以通过条件提前终止搜索;(剪枝) 每个数组取一个值进行组合 例如,输入 ,期望输出 求解过程如下图: 代码如 阅读全文
摘要:
for...else... 语法 输出结果 从上述例子中可以看出,只有for循环没有break掉才会进入else. 使用场景 for...else特性简单明了,具体有什么使用场景呢? 假设这样一个需求,定义一个函数,输入n个list,输出所有值都大于0的list的个数. 首先看下最常用的方法: 定义 阅读全文
摘要:
js 代码运行中插入交互 背景 最近突发奇想,如果能在 js 运行时插入用户操作,是否就可以看到每一步的状态了呢? 以冒泡排序为例,最终实现的效果是这样的: 思路 我们知道,如果代码中 await 一个 promise,那么这行代码需要等到 promise 状态为 resolved 时才能向下继续执 阅读全文
摘要:
问题描述 有一个 8x8 的棋盘,往里放 8 个棋子,每个棋子所在的行、列、对角线都不能有另一个棋子。如下,第一幅图是满足条件的一种方法,第二幅图是不满足条件的。 八皇后问题就是期望找到所有符合条件的情况. 将摆法抽象为数据结构 很显然,满足条件的摆法一定是每行有一个棋子. 我们可以定义一个列表,列 阅读全文
摘要:
使用场景 枚举组合: 问题是这样的. 有 n 个列表,分别从每个列表中取出一个元素,一共有多少种组合? 例如: 组合结果为: 待组合的列表只有两个 这种情况就是简单的遍历: 扩展为 n 个 如果还用for循环嵌套,代码就是这样的 如果是n层的话,这样的代码是无法表达的. 我们可以先将第一个和第二个组 阅读全文
摘要:
先上本文主题: 1. 迭代器一定是可迭代对象,可迭代对象不一定是迭代器; 1. 可迭代对象要满足什么条件才能使用 for 正确遍历; 1. 生成器一定是迭代器. 如何判断是否是迭代器/可迭代对象 可迭代对象 实现了 魔法方法,就是可迭代对象. 迭代器 实现了 和`__next__`魔法方法,就是可迭 阅读全文
摘要:
发送10个请求,将响应组合到一个列表中输出. js 使用aiohttp发送请求. async方式 import axios from 'axios' const get_36_kr = async (page: number) => { const url = `https://36kr.com/a 阅读全文