You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过算法对齐两个二进制字符串中1的位置并实现编解码

二进制字符串映射与密钥生成方案需求

给定二进制字符串

string1: 1000 characters, 100 ones
0001000000010000010100000000000000100010000000000000000000000010100000001100100000000000101000010000001000100000000010000001001000000000000000000000000010000000000000000000000000000000001010001000000000000000000010000001000000000000000000001000000000000000000000000000000001001000000000000000000000000010001000000011000000000010000000010000000010000000001000010000000000010000000000000000000000000000000000000000001000000000000000001000000010000100000010010000000000000000000010000000000000010000000000000100000001000010100000001100000000100000010010100000000000001000110000000110001000100000000000010000000100000000000000000010000000000000000000000010000000000000000000000100000000000001000000110000000000000000001000000000000000000000000010000000000100000000010000000100010000000100000000000000000010000000000000000000010000000000100010000000000000000000000111110000000100000000000011000001000000000000000000010000000000000100000001000000100000000000010010000010000000000000000001000100000000000000
string2: 1000 characters, 30 ones
0000001000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000100000000000000001000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000001000000000000000000000000001100000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000001000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000010000000000000000000000000000000101000010000000000000000000000000000100100000000000001000000000000000010000000001000000000000010000001000000000000000000000000010000000000000000000000000000000000000000100000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000001100000000000000000000000000000000000000000000000000

核心需求

  • 将string2中的30个1,调整为与string1中任意30个1的位置完全匹配,得到转换后的string2'
  • 生成的密钥仅允许包含0-9的数字,长度不得超过20位
  • 密钥需支持双向转换:既能将原始string2编码为string2',也能将string2'解码还原为原始string2

需实现的函数

make_key(string1, string2) -> key
encode(string2, key) -> string2'
decode(string2', key) -> string2

已尝试的无效方法

  • 旋转
  • 模式搜索
  • 零组移除
  • 洗牌

寻求帮助

需要实现上述需求的思路(数学解法或创新思路均可),后续将自行编写算法代码,感谢提供帮助!

内容的提问来源于stack exchange,提问作者Mencey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 10:14:51