duangsuse::Echo
#algorithm #bing 二分查找 spiral sorted ndarray 最好把它转换为1d,再转换回来以获取 '1'的位置 #py #code def unrot(a, out): while a.size: out.extend(a[0]); a=np.rot90(a[1:]) #难以用concat矩阵滚出螺旋 def rot(a, m): ia=np.reshape(range(len(a)), (m,-1)) unrot(ia, ord:=[]) return…
#FP #sql #code 真正的 relational 笔记本👏
那种能 x+2=5 的。SQL做不到呢(预先 insert values (3,2,5)? )
花了一大把时间用来学习在逻辑式里写DFS搜索..
今天终于把序列化(/解析)器项目前堆积的事项完成了, 虽然这质量,怎么看都是很失败..
也就主要是for loop 的功能,但确实简洁了点。 学了关系式 constraint (注意不是sympy线代)后,觉得能更好的理解类型系统了
那种能 x+2=5 的。SQL做不到呢(预先 insert values (3,2,5)? )
花了一大把时间用来学习在逻辑式里写DFS搜索..
今天终于把序列化(/解析)器项目前堆积的事项完成了, 虽然这质量,怎么看都是很失败..
也就主要是for loop 的功能,但确实简洁了点。 学了关系式 constraint (注意不是sympy线代)后,觉得能更好的理解类型系统了
#algorithm #FP 版的 list 累加法杨辉三角
ps. 也可以用DP和代数式推算
P2:垃圾 itertools
#py #code
ps. 也可以用DP和代数式推算
P2:垃圾 itertools
#py #code
from itertools import accumulate,islice,chain
fib=iself(2,lambda x0,x1: chain([1,1], (x+y for x,y in zip(x0,x1)) ))
def 杨辉(): #pascal_triangle
row = [1]
while True:
yield row; row = [1,*(x+y for x,y in zip(row, row[1:])),1] #上行+上左
def iself(n,fn):
a=[]
def _(i):
while True:yield(a[-i])
for x in fn(*[_(i+1) for i in range(n)]): a.append(x);yield x
ctrlM=lambda a: (lambda n:'\n'.join(f'{s}'.center(n)for s in a)) (max(len(str(s))for s in a))
N=20
print(ctrlM([*islice(杨辉(),N)]),'\n\nfib', [*islice(fib,N)])