本帖最后由 shaowu459 于 2023-12-26 17:53 编辑
开始写的有bug,越写越长,看看是否能再缩短些(基础问题公式,最小字典序没写出来):
方法一:288
- =LET(s,MID(A2,ROW($1:200),1),t,@REDUCE(UNIQUE(HSTACK(s,MAP(s,LAMBDA(x,SUM(N(s=x)))))),s,LAMBDA(x,y,LET(d,SORT(x,2,-1),p,DROP(d,1,-1),r,ROWS(p),v,DROP(d,1,1)-(SEQUENCE(r)<=B2),IF(OR(x=0),x,VSTACK(TAKE(d,1)&CONCAT(TAKE(p,B2)),FILTER(HSTACK(p,v),v*(r>=B2),{0,0})))))),REPT(t,LEN(t)=LEN(A2)))
复制代码 方法二:228
- =LET(h,LEN(A2),r,SEQUENCE(h),s,MID(A2,r,1),IFERROR(CONCAT(REDUCE(r*0,SORTBY(s,-MAP(s,r,LAMBDA(m,n,SUM(N(TAKE(s,n)=m))))),LAMBDA(x,y,LET(p,MATCH(,x,),k,XMATCH(y,x,,-1)+B2,IF(r=IFS(ISNA(k),p,k>h,\,INDEX(x,k)>0,p,1,k),y,x))))),""))
复制代码 |