Forwarded from 科技圈🎗在花频道📮 (在花🎗)
北京广告协会公众号 明星代言规范委 删除了对蔡某某的风险把控提示 👀
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from 螺莉莉的黑板报
其实一直犹豫要不要吐槽,百度那面试揪着 new function, cookie 一顿狂问,你们是有多喜欢勺学,天天在 js 里面给自己挖坑玩吗……
面试者不知道 js cache api 是什么,不知道 rpc 是什么,我一下子懵了,还得现场解释。
2023 年了问 cookie 和 session 的区别是什么,我一下子都没反应过来 session 这个概念。
问我 css translate 跟 animation 的区别是什么,我:你是不是想问 transform……
还有一些很怪的问题, localStorage 满了怎么办,问我 localStorage 读写性能会不会不好。都能写满了说明你压根就不应该用 localStorage 存这东西啊!你们是在写什么玩意能写出性能瓶颈啊!实在不行用 idb 呗。然后问我 idb 是什么。
今年究竟是哪年……
面完非常挫败,每讲一句话都要被 challenge,感觉完全没在一个频段上……
面试者不知道 js cache api 是什么,不知道 rpc 是什么,我一下子懵了,还得现场解释。
2023 年了问 cookie 和 session 的区别是什么,我一下子都没反应过来 session 这个概念。
问我 css translate 跟 animation 的区别是什么,我:你是不是想问 transform……
还有一些很怪的问题, localStorage 满了怎么办,问我 localStorage 读写性能会不会不好。都能写满了说明你压根就不应该用 localStorage 存这东西啊!你们是在写什么玩意能写出性能瓶颈啊!实在不行用 idb 呗。然后问我 idb 是什么。
今年究竟是哪年……
面完非常挫败,每讲一句话都要被 challenge,感觉完全没在一个频段上……
#algorithm #bing 二分查找 spiral sorted ndarray
最好把它转换为1d,再转换回来以获取 '1'的位置
#py #code
感觉很无语,居然为了无意义的“高性能”算法浪费2h ,还不如直接就用自己本来会的
我发现2d.bisect 是以 (row=a[i])[0] 为线索再去 row.bisect ,这就更无聊了。Trie 前缀树至少还有 AC 的优化版(窄化为 KMP ),kD/quad 树至少还有切割公式 ,RB树有 std::(orderd_)map,但bisect 对Nd都只是Trie那样剪枝..
我觉得放在现实语境下就理所当然的策略,根本不该叫算法…
我很好奇除了用等价关系导入list里的算法,螺旋矩阵能怎么bisect,毕竟这东西本质就是list的重排序,它没啥性质可言
搜索发现这个螺旋数组 是 [4,5,6,7,0,1,2] 这种螺旋(shift..) 好奇怪的条件啊:
左右两段中,一定是有一段有序的,另一段可能有序可能无序(有序,则一定有段首值<段尾值)
需要
看的我都糊涂了,它是说 '//'状数组二分会产生 '/ _/'状无序右侧 ;算法是相当于只优化了“左侧”,对另一侧继续拆.. 这过度解读题意了。还不如直接拿拐点切分list,各自bisect()
螺旋数组 LC#54 不知为何大家用的都是Excel式四向法.. 虽然我写2048.js 时也是用了4向线性扫描了
括号匹配 LC#20 可以用调用栈,我又试了2h. bing反而误导我 😭
测试
#394 字串“编码” ,晕了,这标题为何如此民科啊!我还以为是词表替换
如你们所见,解法越简洁,我敲键盘的时间越少、敲脑门的时间越多……
最好把它转换为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 np.vectorize(lambda i:a[ord.index(i)] )(ia)
#make range(0,9) a spiral(cols=3)
[[0 1 2]
[7 8 3]
[6 5 4]]
a=rot([*range(0,9)], 3)
unrot(a, na:=[])
na[na.index(4)]=-1
print(a)
np.where(rot(na,3)==-1) #'4'=>[2,2] def binary_search_matrix(matrix, target): 同理,可以是2d转1d
def binary_search_first_last(*a):
import bisect
left,right = (f(*a)for f in [bisect.bisect_left, bisect.bisect_right])
# 如果右边界超出了数组范围,说明目标出现1次
return (left, left if right == len(nums) else right - 1) 感觉很无语,居然为了无意义的“高性能”算法浪费2h ,还不如直接就用自己本来会的
a[ord.index(i)] 序号对应..我发现2d.bisect 是以 (row=a[i])[0] 为线索再去 row.bisect ,这就更无聊了。Trie 前缀树至少还有 AC 的优化版(窄化为 KMP ),kD/quad 树至少还有切割公式 ,RB树有 std::(orderd_)map,但bisect 对Nd都只是Trie那样剪枝..
我觉得放在现实语境下就理所当然的策略,根本不该叫算法…
我很好奇除了用等价关系导入list里的算法,螺旋矩阵能怎么bisect,毕竟这东西本质就是list的重排序,它没啥性质可言
搜索发现这个螺旋数组 是 [4,5,6,7,0,1,2] 这种螺旋(shift..) 好奇怪的条件啊:
左右两段中,一定是有一段有序的,另一段可能有序可能无序(有序,则一定有段首值<段尾值)
需要
if nums[mid] >= nums[start] 判断左面是否有序看的我都糊涂了,它是说 '//'状数组二分会产生 '/ _/'状无序右侧 ;算法是相当于只优化了“左侧”,对另一侧继续拆.. 这过度解读题意了。还不如直接拿拐点切分list,各自bisect()
螺旋数组 LC#54 不知为何大家用的都是Excel式四向法.. 虽然我写2048.js 时也是用了4向线性扫描了
括号匹配 LC#20 可以用调用栈,我又试了2h. bing反而误导我 😭
测试
pairs = {'(':')', '[':']', '{':'}'}
def eat(s,c0):
for c in s:
# 如果是左括号,就把它压入栈中
if c in pairs: eat(s,pairs[c])
elif c==c0:return # 如果是右括号,左括号便与之匹配
else: assert'','多余项而栈空'
assert c0=='eof','栈尚不为空' #394 字串“编码” ,晕了,这标题为何如此民科啊!我还以为是词表替换
decodeString('hello,2[wo]rld')
'hello,woworld'
decodeString=(s)=>s.replace(/(\d+)\[(\w+)\]/,
(m,n,s)=>s.repeat(+n) )
本意是让你用 char 去累积 \d+[ ,累积[]里的字符,然后在 ']' 的时候输出repeat的文本,但这就是文本解析而已.. 如你们所见,解法越简洁,我敲键盘的时间越少、敲脑门的时间越多……
Stack Overflow
Python: how to implement binary search in Double Dimensional Array
For one dimensional array, I can implement it by the following way:
def binary_search(a, key, low=0, high=None):
if high is None:
high = len(a) - 1
while low <= high:
m...
def binary_search(a, key, low=0, high=None):
if high is None:
high = len(a) - 1
while low <= high:
m...
#learn #FP 从“面向运气编程”到“设计程序”,「编程是什么」有许多天差地别的答案。
编程语言的范式。以社区的主流写法而定(FP之前后:统称过程式 vs. 定义式):
PP结构化- C,Go,Perl,Lua
C是会计算(跳转)栈、整数/struct* 类型到成员地址的汇编,它的对象检查很弱,也没有规范的List,KV数据类型(SDL,linux,qemu 这些都有自己的"utils")
GC需要定期"stop THE WORLD"并自 static/调用栈变量遍历对象图,连[]{} 都没有的C当然找不出“0引用”指针,更多人使用shared_ptr<T> 引用计数实现Pair<AB>等数据
OOP面向对象- C++, Java~, .NET~
FP函数式- JS,Py, Rust
若对象用 函数值参数/监听器字典,取代override 那就叫“闭包closure” (其可见/可定性同interface,都为 public open)
类比,
PF纯函数- Haskell Scala Lisp~
冷门:
FRP响应式- Rx,React
- x86 wasm
在 .data 段加个字符常量, 再在 .text push bp;sub sp,N 栈分配调用 libc:printf
甚至需要关心 nasm; ld 仅仅来让print() 能跳转到dll的“地址”,不会SEGV
LP逻辑式- SQL Prolog #relational #types
逻辑问题也有函数域和'=',只是'a=b' 的含义是“解构赋值” 出解集。b能含变量: [1 x]=[y 2]
a=b, b=1 应求出a=1 ,因此执行流程是 cut(=) 深解构, ',|'and or 靠约束过滤解集, 最后 cat 深建构
若等号右边必须已知,在 ([1]+x)=[1 2] 的求解中
当然,变量是值。“解”可以是 [List T] 这样的含“类型”变量,<T> 一定是“类型函数”加过的变量,所以:[List T]就是函数签名
可以取各处T的成员(接口)交来infer调用、单独查找fun重载,但本质上都是这样:
tomstu.art/hello-declarative-world
编程语言的范式。以社区的主流写法而定(FP之前后:统称过程式 vs. 定义式):
PP结构化- C,Go,Perl,Lua
C是会计算(跳转)栈、整数/struct* 类型到成员地址的汇编,它的对象检查很弱,也没有规范的List,KV数据类型(SDL,linux,qemu 这些都有自己的"utils")
GC需要定期"stop THE WORLD"并自 static/调用栈变量遍历对象图,连[]{} 都没有的C当然找不出“0引用”指针,更多人使用shared_ptr<T> 引用计数实现Pair<AB>等数据
OOP面向对象- C++, Java~, .NET~
FP函数式- JS,Py, Rust
若对象用 函数值参数/监听器字典,取代override 那就叫“闭包closure” (其可见/可定性同interface,都为 public open)
类比,
AbstractAnimal=(T={eat,say})=>“构造器”(name)=>{name, __proto__:T“类型T也有proto”}
“弱结构强脚本”轻松于万物class{}。fn=a=>(b=>a+b) 能从词法上文捕获a,不用 new fn$1(fn.arg[1]) 手动把a放入匿名对象PF纯函数- Haskell Scala Lisp~
冷门:
FRP响应式- Rx,React
- x86 wasm
在 .data 段加个字符常量, 再在 .text push bp;sub sp,N 栈分配调用 libc:printf
甚至需要关心 nasm; ld 仅仅来让print() 能跳转到dll的“地址”,不会SEGV
LP逻辑式- SQL Prolog #relational #types
逻辑问题也有函数域和'=',只是'a=b' 的含义是“解构赋值” 出解集。b能含变量: [1 x]=[y 2]
a=b, b=1 应求出a=1 ,因此执行流程是 cut(=) 深解构, ',|'and or 靠约束过滤解集, 最后 cat 深建构
若等号右边必须已知,在 ([1]+x)=[1 2] 的求解中
(+) A B即
|A=[], B
|A=[x a], [x (a+B)]
appendo A B O里,O=[x 递归] 就无法匹配出 A=[$x ] 这些输入参数了
|A=[], O=B
|A=[x a], O=[x appendo(a B)]
当然,变量是值。“解”可以是 [List T] 这样的含“类型”变量,<T> 一定是“类型函数”加过的变量,所以:[List T]就是函数签名
可以取各处T的成员(接口)交来infer调用、单独查找fun重载,但本质上都是这样:
fun Box<T>.let(f:(T)->R)=listOf(f(item))阮一峰 体验 👉 swish.swi-prolog.org/example/grammar.pl //在左边粘贴关系, 右边查询,如 murderer(X)
let A B
|A=[Box T],B=[Fn T R], listOf(B.invoke(A.item))
|重载,.
listOf T..|[List T]
tomstu.art/hello-declarative-world
Telegram
duangsues.is_a? SaltedFish
#zhihu 编程的范式
- “初学·面向运气编程”。编程是用英文理解,体验几行代码触发的效果,靠dnSpy修改既有程序的反编译
或创,建样板项目,排开UI“设置”点击,在CSDN上搜索些即贴即用小功能加进去,反复打包安装、调试print 一周里的机械化过程
甚至是让精灵表演舞台动作:拖拽各种动作方块到某事件下方,延时修改角度和距离
只需要魔改别人的源码片段,搜索CtrlV所缺少的变量和平台;像Copilot一样进步着,甚至不如。但,“学会”写法后,你才会有选择与灵感
- “过程式”以语言提供的基…
- “初学·面向运气编程”。编程是用英文理解,体验几行代码触发的效果,靠dnSpy修改既有程序的反编译
或创,建样板项目,排开UI“设置”点击,在CSDN上搜索些即贴即用小功能加进去,反复打包安装、调试print 一周里的机械化过程
甚至是让精灵表演舞台动作:拖拽各种动作方块到某事件下方,延时修改角度和距离
只需要魔改别人的源码片段,搜索CtrlV所缺少的变量和平台;像Copilot一样进步着,甚至不如。但,“学会”写法后,你才会有选择与灵感
- “过程式”以语言提供的基…
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线代)后,觉得能更好的理解类型系统了
duangsuse::Echo
#FP #sql #code 真正的 relational 笔记本👏 那种能 x+2=5 的。SQL做不到呢(预先 insert values (3,2,5)? ) 花了一大把时间用来学习在逻辑式里写DFS搜索.. 今天终于把序列化(/解析)器项目前堆积的事项完成了, 虽然这质量,怎么看都是很失败.. 也就主要是for loop 的功能,但确实简洁了点。 学了关系式 constraint (注意不是sympy线代)后,觉得能更好的理解类型系统了
https://www.zhihu.com/question/36738189/answer/908664455
LeetCode 最经典的 100 道题目
编程指北 csguide.cn
#tool visualize
https://visualgo.net/en
https://www.cs.usfca.edu/~galles/visualization/Heap.html#BuildHeap
https://cscircles.cemc.uwaterloo.ca/java_visualize/ #java
https://algorithm-visualizer.org/Algorithm
bing真是太厉害了,它能把2D矩阵移植到list..
LeetCode 最经典的 100 道题目
编程指北 csguide.cn
#tool visualize
https://visualgo.net/en
https://www.cs.usfca.edu/~galles/visualization/Heap.html#BuildHeap
https://cscircles.cemc.uwaterloo.ca/java_visualize/ #java
https://algorithm-visualizer.org/Algorithm
bing真是太厉害了,它能把2D矩阵移植到list..
#life “你们在美国敢拿军人开玩笑么 ”。油管上随便一翻,一大堆。 这些粉红总喜欢以己度人,总以为世界上其他国家的人,也是每个人内心都装有一个中宣部。
🧐一些种族主义新纳粹,竟然会成为「政治正确」和懂王,也是让人感叹集权政体的轮回性。 东亚和犹太都是很爱考试的“资本主义”民族,也都有战乱史。同行相见,分外眼红?
https://m.youtube.com/watch?v=QRQvXScDzXc&t=9m
🧐一些种族主义新纳粹,竟然会成为「政治正确」和懂王,也是让人感叹集权政体的轮回性。 东亚和犹太都是很爱考试的“资本主义”民族,也都有战乱史。同行相见,分外眼红?
https://m.youtube.com/watch?v=QRQvXScDzXc&t=9m
YouTube
在美國真的不能猶太人玩笑嗎?中國人看美國脫口秀無法掌握的事實!
大家可以通過點擊下方鏈接,成為油管會員/Patreon/PayPal支持我的頻道,可以參與每個月的會員直播,跟我一起連線聊天!這個頻道的運轉離不開大家的支持,再次感謝大家!
Youtube: https://www.youtube.com/channel/UCyYlGTZL-HnnX_UcGkVFH7A/join
Patreon: https://www.patreon.com/Lelefarley
Paypal:https://www.paypal.com/cgi-bin/webscr?cmd=_s…
Youtube: https://www.youtube.com/channel/UCyYlGTZL-HnnX_UcGkVFH7A/join
Patreon: https://www.patreon.com/Lelefarley
Paypal:https://www.paypal.com/cgi-bin/webscr?cmd=_s…
Forwarded from 科技圈🎗在花频道📮 (❤️)
AI 公司承诺将为 AI 生成内容打上水印
拜登政府周五表示,美国主要 AI 公司如 OpenAI、Alphabet、Meta Platform、亚马逊、Anthropic、Inflection 和微软已经向白宫承诺将自愿为 AI 生成内容实现水印等措施,以帮助提高 AI 技术的安全性。主要 AI 公司还承诺在发布新 AI 系统前进行彻底地测试,并分享诸如如何降低风险等信息。随着 OpenAI 的聊天机器人 ChatGPT 风靡世界,世界各国的立法者开始考虑如何缓解这项新兴技术对国家安全和经济的危险。(slashdot)
投稿:@ZaiHuaBot
频道:@TestFlightCN
拜登政府周五表示,美国主要 AI 公司如 OpenAI、Alphabet、Meta Platform、亚马逊、Anthropic、Inflection 和微软已经向白宫承诺将自愿为 AI 生成内容实现水印等措施,以帮助提高 AI 技术的安全性。主要 AI 公司还承诺在发布新 AI 系统前进行彻底地测试,并分享诸如如何降低风险等信息。随着 OpenAI 的聊天机器人 ChatGPT 风靡世界,世界各国的立法者开始考虑如何缓解这项新兴技术对国家安全和经济的危险。(slashdot)
投稿:@ZaiHuaBot
频道:@TestFlightCN
Forwarded from Solidot
Stability AI 发布 CC-BY-NC 4.0 授权的大模型 Free Willy 1 和 2
2023-07-22 18:18 by 火星战将
AI 创业公司 Stability AI 发布了在 CC-BY-NC 4.0 下授权的大模型 Free Willy 1 和 2,也就是商业使用受限制。FreeWilly1 是基于 LLaMA 65B 模型,FreeWilly2 是基于 LLaMA 2 70B 模型,Stability AI 称两个模型在不同基准测试中展现了出色的推理能力,其中 FreeWilly2 在部分任务中的表现超过了 GPT-3.5。公布这两个模型旨在促进开放研究,因此都是非商业使用授权。Stability AI 此前发布了一种可商业使用的开源大模型 StableLM。
https://stability.ai/blog/freewilly-large-instruction-fine-tuned-models
#人工智能
2023-07-22 18:18 by 火星战将
AI 创业公司 Stability AI 发布了在 CC-BY-NC 4.0 下授权的大模型 Free Willy 1 和 2,也就是商业使用受限制。FreeWilly1 是基于 LLaMA 65B 模型,FreeWilly2 是基于 LLaMA 2 70B 模型,Stability AI 称两个模型在不同基准测试中展现了出色的推理能力,其中 FreeWilly2 在部分任务中的表现超过了 GPT-3.5。公布这两个模型旨在促进开放研究,因此都是非商业使用授权。Stability AI 此前发布了一种可商业使用的开源大模型 StableLM。
https://stability.ai/blog/freewilly-large-instruction-fine-tuned-models
#人工智能
Forwarded from dnaugsuz
#android IPC机制
ContentProvider增删改的底层是 Binder(RPC调用) 的参数,
好的,我尝试用列表的形式来条理化这个过程:
app获取 CP
AMS 充当中间人,(拉起进程,若已启动但未缓存则仍 scheduleInstallProvider):
请求 Provider 回调,存到 ContentProviderRecord,让app线程停止sleep并创建 interface Provider (的Proxy)
它用Binder转发call()给
总结:幸好我学的是DOM,py,cFFI 请求模型而不是java,不然世界观都被 android.xx 带崩塌了。没人想把Android当服务端来写,甚至服务端也越来越弱化,js化
心智模型不健康是设计不出易用的功能的,不愧是咕狗
#code 使用 makeRpc<接口InAIDL> 调用其他apk的函数
contentResolver.query(uri, projection, selection/*where*/,selectionArgs, sortOrder) //C#LINQ的拙劣模仿者.. 不自动反序列化(Parcel-able)吗url=parse("content://demo权限/user"), 会进行 resolver.acquireProvider("demo")? ,较耗时:ContentProvider增删改的底层是 Binder(RPC调用) 的参数,
CP.query(Uri(数据库等来源)) 是Cursor表格迭代器,它指向共享内存里被塞入的媒体数据 CursorWindow.getInt 只是表格的共享内存实现。Binder使用ptrFD+size 来传递mmap(shared mem, <2MB) CP.call("add",Bundle) 可调用对方好的,我尝试用列表的形式来条理化这个过程:
app获取 CP
AMS 充当中间人,(拉起进程,若已启动但未缓存则仍 scheduleInstallProvider):
请求 Provider 回调,存到 ContentProviderRecord,让app线程停止sleep并创建 interface Provider (的Proxy)
它用Binder转发call()给
CP.Transport(: IContentProvider) ,后者会解包计算并打包回调。同进程的CP不涉及AMS总结:幸好我学的是DOM,py,cFFI 请求模型而不是java,不然世界观都被 android.xx 带崩塌了。没人想把Android当服务端来写,甚至服务端也越来越弱化,js化
心智模型不健康是设计不出易用的功能的,不愧是咕狗
#code 使用 makeRpc<接口InAIDL> 调用其他apk的函数
Telegram
duangsues.is_a? SaltedFish
#code AIDL 服务-客户 示例,包含 int n 的监听、 List<Str> users() 的回调
// src/main/aidl/ISvc.aidl
package my.svc;
import my.svc.ISvcCB;
interface ISvc {
void setListener(in ISvcCB callback);//int n 变化时通知客户端
//没有找到针对 Kotlin 的 AIDL 框架,但创建.aidl时, xml清单会自动更新
int getN();void…
// src/main/aidl/ISvc.aidl
package my.svc;
import my.svc.ISvcCB;
interface ISvc {
void setListener(in ISvcCB callback);//int n 变化时通知客户端
//没有找到针对 Kotlin 的 AIDL 框架,但创建.aidl时, xml清单会自动更新
int getN();void…
duangsuse::Echo
#learn #FP 从“面向运气编程”到“设计程序”,「编程是什么」有许多天差地别的答案。 编程语言的范式。以社区的主流写法而定(FP之前后:统称过程式 vs. 定义式): PP结构化- C,Go,Perl,Lua C是会计算(跳转)栈、整数/struct* 类型到成员地址的汇编,它的对象检查很弱,也没有规范的List,KV数据类型(SDL,linux,qemu 这些都有自己的"utils") GC需要定期"stop THE WORLD"并自 static/调用栈变量遍历对象图,连[]{} 都没…
如何开始一个项目: https://t.me/im_RORIRI/10648?comment=159854
“我们在做一个东西并不是因为它牛逼、聪明,而是为了解决一个问题,对我们自己来讲很有价值。
不要幻想脱离了实际和能力的问题,那种坑就没有明确的价值”
“我们在做一个东西并不是因为它牛逼、聪明,而是为了解决一个问题,对我们自己来讲很有价值。
不要幻想脱离了实际和能力的问题,那种坑就没有明确的价值”
Telegram
duangsuse in 鸡与气球
1.2.只做力所能及的事,想好再动笔
3.不要起名字,可以等功能想好后再“确定”
4.要有急迫感,或者有恒心一直做重新规划
5.要有业务逻辑尝鲜验证,不要每个项目重复造轮子
6.广播源代码,显得自己很能干,不然会很累
7.稳扎稳打,不要听别人的,杂音也不一定正确
3.不要起名字,可以等功能想好后再“确定”
4.要有急迫感,或者有恒心一直做重新规划
5.要有业务逻辑尝鲜验证,不要每个项目重复造轮子
6.广播源代码,显得自己很能干,不然会很累
7.稳扎稳打,不要听别人的,杂音也不一定正确
#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)])#sql DFS搜索 像素图填色 in Prolog
btw. fill(_,X) 是 “从任意一点探索区域X , 一共能收集到多少X”
v(P,0) : 查询颜色是0的P=[X,Y]
conn([2,1], P1) : (2,1)=0 四邻里 0值格的座标们
不知为何很慢
看起来好像简短了,实际只是省掉 if 和解构的代码量 😒
有趣的是,conn(四邻) 是基于 |X-x|+|Y-y|=1 的参数方程(GL常用),而非 x+1,y+1 直接迭代,所以 dfs :- C=conn(A),dfs(C) 就必须写成 conn(A,C) 的约束,尽管C只是A的“过滤结果”, 对C的穷举确实不像“返回值”能做到的
https://www.swi-prolog.org/pldoc/doc/_SWI_/library/lists.pl
关系式和SQL一样支持查询结果 distinct(unique)
之前用 findall(X, Func,R) 莫名出问题,也用不了lambda ,累死了
btw. fill(_,X) 是 “从任意一点探索区域X , 一共能收集到多少X”
v(P,0) : 查询颜色是0的P=[X,Y]
conn([2,1], P1) : (2,1)=0 四邻里 0值格的座标们
不知为何很慢
看起来好像简短了,实际只是省掉 if 和解构的代码量 😒
有趣的是,conn(四邻) 是基于 |X-x|+|Y-y|=1 的参数方程(GL常用),而非 x+1,y+1 直接迭代,所以 dfs :- C=conn(A),dfs(C) 就必须写成 conn(A,C) 的约束,尽管C只是A的“过滤结果”, 对C的穷举确实不像“返回值”能做到的
https://www.swi-prolog.org/pldoc/doc/_SWI_/library/lists.pl
关系式和SQL一样支持查询结果 distinct(unique)
之前用 findall(X, Func,R) 莫名出问题,也用不了lambda ,累死了
Forwarded from 科技圈🎗在花频道📮 (在花⭐️投稿📮Bot)
微软不再对Chrome 和 Safari 以及其他浏览器中屏蔽 Bing Chat 的使用。
然而,在其他浏览器上使用 Bing Chat 存在一些限制。比如,相比在 Edge 上使用 Bing Chat 的 4000 字上限来说,你只能输入 2000 字。对话在进行5轮后也会重置,而在 Edge 中是30轮。并且你会看到一些烦人的弹出提示,建议你下载 Edge。
https://www.theverge.com/2023/7/24/23805493/bing-ai-chat-google-chrome-safari
投稿:@ZaiHuaBot
频道:@TestFlightCN
然而,在其他浏览器上使用 Bing Chat 存在一些限制。比如,相比在 Edge 上使用 Bing Chat 的 4000 字上限来说,你只能输入 2000 字。对话在进行5轮后也会重置,而在 Edge 中是30轮。并且你会看到一些烦人的弹出提示,建议你下载 Edge。
https://www.theverge.com/2023/7/24/23805493/bing-ai-chat-google-chrome-safari
投稿:@ZaiHuaBot
频道:@TestFlightCN
科技圈🎗在花频道📮
华为Harmony OS 4.0版本将于8月正式发布 来源:新浪微博 投稿人:Arkansas State Police 投稿:@ZaiHuaBot 频道:@TestFlightCN
#linux #twitter 🤡Unicode Character “𝕏” (U+1D54F) https://wayland.social/@compositor/110768798303454842
wayland.social
Wayland.social (@compositor@wayland.social)
Welcome to Wayland.social: the successor to X.com.