gpt4 book ai didi

algorithm - 从给定列表的 block 中找到最小数

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:05:54 24 4
gpt4 key购买 nike

给你一串数字,一个值 x 和 N。你必须将该字符串分成 ((i-1)x+1,min(ix)) 部分。

例如一个字符串是 ="1234567891"然后 x=5,N=10

因为 x=5,所以会有 2 个字符串分区[12345]结束[67891]

您必须从这些组合中找到第 k 个最小数。例如 k=3 那么 ans 应该是 17

组合将会发生,就像第一个分区中的每个数字都将与其他分区数字连接一样

所以如果字符串 123456789 有三个分区,那么它可能像

[123][456][789]

如果 k=3 那么 ans 就是 149

最佳答案

如果我理解正确,那么对于 x=5N=10 ,当所有组合按排序顺序为 11, 16, 17, 18, 19, 21, 26, 27, 28, 29, 31 时,字符串是 1234567891 ...

如果 N 被除 x 没有余数那么我们有下一个解决方案:

  • 对每个部分的所有数字进行排序(获取 1234516789 );
  • k-1转为x数系,N/x数为数组a(2数系中的5[2]N/x=2数加0得到a=[0,2]);
  • 从每个部分的 a_i 部分获取 i 数字(0-index)(012345 索引是 1216789 索引是 7);
  • 连接所有数字并得到答案是 17

关于algorithm - 从给定列表的 block 中找到最小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57831729/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com