给定字符生成器和长度,如何生成所有可能字符串的列表?

2023-12-22

例如给定['a', 'b'](作为生成器)和 2 作为长度

该函数将输出一个生成器,该生成器将产生:

'',
'a',
'b',
'ab'
'ba'
'aa'
'bb'

或给定['a']长度为 3:

'',
'a',
'aa',
'aaa',

正如您可以想象的那样,如果添加更多字母或增加长度,该集合会变得更大,它应该列出给定字符的所有排列,直到长度


这是一个相当不言自明的解决方案。

//Returns all permuations of a certain length.
function perm($ls, $len) {
    if($len <= 0) {
        yield '';
    }
    else {
        foreach ($ls as $x) {
            foreach(perm($ls, $len-1) as $i) {
               yield $x.$i;
            }
        }
    }
}

//Returns all permuations of all lengths less or equal to the given integer.
function all_perm($ls, $len) {
    //$ls = iterator_to_array($ls);
    for($x=$len; $x>=0; $x--) {
        foreach(perm($ls, $len-$x) as $string) {
            yield $string;
        }
    }
}

只需致电all_perm与你的数组和最大长度。如果参数绝对必须是生成器,请取消注释$ls = iterator_to_array($ls);.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

给定字符生成器和长度,如何生成所有可能字符串的列表? 的相关文章

  • 计算特定产品类别的购物车商品数量

    我试图仅从 WooCommerce 中的特定产品类别获取购物车中的商品数量 我正在为一家酒厂做一个网站 它有酒精和非酒精产品 所有葡萄酒都属于 葡萄酒 主类别或类别 ID 34 其下有许多子类别和产品 对于属于此类别的任何商品 我需要知道此
  • Monolog,如何将 PHP 数组记录到控制台?

    我正在使用浏览器处理程序将消息记录到 JS 控制台 require once vendor autoload php use Monolog Logger use Monolog Handler BrowserConsoleHandler
  • 通过php将mp3转换为ogg

    我有一个网站 用户可以上传音乐并将其转换为 mp3 但我需要 mp3 和 ogg 文件支持才能以 html5 播放音乐 那么 有没有可以将mp3转换为ogg的php脚本呢 使用 ffmpeg 您可以直接从 php 脚本执行命令
  • 简单的颜色变化

    我正在创建一个用户界面 用户可以在其中更改页面的颜色值 我想要的是获取分配给其背景颜色的值并将其变亮一定程度 我只是想获得一条亮点线 而不必每次都制作新图像 示例 用户将背景颜色设置为 ECECEC 现在我希望某个元素边框变成 F4F4F4
  • 如何处理 PHP 中浮点数的奇怪舍入

    众所周知 浮点运算并不总是完全准确 但是如何处理它的不一致之处呢 As an example in PHP 5 2 9 this doesn t happen in 5 3 echo round 14 99225 4 14 9923 ech
  • 未找到“MongoId”类(带有 MongoDB Doctrine 的 Zend 框架)

    我目前正在尝试将 MongoDB 与 ZendFramework 中的 Doctrine 集成 我做了很多教程 在 StackOverflow 或其他地方 但没有任何效果 我一步步按照教程进行操作 http www bigwisu com
  • PHP:STR 替换为链接

    我有这个 PHP 聊天框 如果我在聊天框中键入链接 它不会将其显示为链接 我如何使用 STR 替换来执行此操作 它应该响应诸如 http http com nl www www 之类的内容 我的其他 STR 替换行如下所示 bericht
  • 如何在 Laravel 中 session_write_close() ?

    Running session write close before sleep 在 Laravel 中似乎不起作用 因为会话仍然被其他请求阻止 直到当前连接完成 我试图sleep 在 Laravel 中 不会阻止其他请求 发现 sessi
  • PHP语言问题

    我有一个 php 页面 它将邮件发送到特定电子邮件 其中包含此页面表单中的数据 邮件必须以网站的母语 阿拉伯语 发送 但是当我单击表单上的提交按钮时 收到的邮件一半可读 阿拉伯语 另一部分不可读 符号 我想知道如何解决这个问题并且能够发送邮
  • HTTP_REFERER 返回 NULL,$_SERVER 中不存在密钥

    使用以来第一次 SERVER HTTP REFERER 它给了我NULL因此 当我做var dump SERVER the HTTP REFERER密钥不存在 我还尝试使用不同的浏览器和不同的网站访问网站 但没有结果 该网站在基于 Linu
  • 如何销毁一个物体?

    据我所知 很少 有两种方法 var new object Then Method 1 Set to null var null Method 2 Unset unset var 还有其他更好的方法吗 我在这里吹毛求疵吗 您正在寻找unset
  • 如何在 Laravel Mix 中将公共路径更改为包含下划线的路径?

    Laravel 5 4 中引入了 Mix 来编译资产并维护资产管道 Mix 默认为您的公共目录被命名public 在许多情况下 包括我的 我的公共目录被称为其他名称 就我而言 是public html 如何更改资源编译到的公共目录 我尝试过
  • 对更改运行 PHPUnit 测试

    每当磁盘上的文件发生更改时 我想运行 PHPUnit 测试 或至少其中的一个子集 与您可以使用 进行的操作非常相似 咕噜手表 https github com gruntjs grunt contrib watch blob master
  • 如何使用额外标记输出 wp_list_categories

    我目前正在使用下面的脚本在无序列表中输出我的所有 WordPress 类别 如何获得带有额外标记的输出 ul ul 例如 ul li Category 1 rsaquo li li Category 2 rsaquo li ul 代替 ul
  • 如何让Symfony2直接加载CSS、JS文件而不是通过PHP?

    老问题 请参阅下面的更新版本 我的开发环境不是最快的 每个 PHP 请求大约需要 500 毫秒 它开始成为 Symfony2 资源文件的问题 因为每个资源文件都是通过 Symfony 的内部控制器请求的 http localhost myp
  • 迭代函数可以调用自身吗?

    当观看下面的 MIT 6 001 课程视频时 讲师在 28 00 将此算法标记为迭代 但是 在 30 27 他说这个算法和实际的 递归 算法都是递归的 该函数正在使用基本情况调用自身 那么这次迭代情况如何 private int itera
  • 将价格格式设置为逗号分隔

    在我的数据库中 我有类似的值 256 23 200 33 89 33 133 45 我必须将这些值乘以千 然后将结果格式化为价格 逗号分隔 256 23 x 1000 256230 I want to show this as 256 23
  • Magento 设置脚本中的 ALTER TABLE 不使用 SQL

    乔纳森 戴 https stackoverflow com users 336905 jonathan day says 更新不应采用以下形式 SQL命令 我没遇到过 任何 DDL 或 DML 语句不能 通过 Magento 的配置执行 结
  • 如何根据另一个下拉列表中的选择动态填充下拉列表中的选项?

    我有一个表 其中包含类别信息 例如产品 我已将它们列在下拉菜单中 现在 我需要做的是 在下一个下拉菜单中列出所选类别的子类别 我希望 javascript 是必需的 但我对 javascript 还不太熟悉 将非常感谢您的帮助 你应该使用
  • PHP 文件上传帮助

    div align center div 这是我的代码

随机推荐

  • 十进制浮点数与二进制的相互转换

    简而言之 我的问题是 为什么浮点数中的舍入误差仅在计算后出现 而不是在存储文字时出现 我的意思是这样的 我知道在十进制与二进制相互转换时由于浮点数的舍入误差而出现的问题 例如 在 Java 中 double a 10 567 double
  • 相当于 C# 中 string.Format 的 CLR 函数

    我正在寻找一个 CLR 函数 它可以执行与 C 中的 String Format 相同的操作 作为示例 我想通过 CLR 函数执行以下操作 String Format My name is 0 and I live in 1 myName
  • 如何防止 org-mode 执行所有 babel 源代码块?

    我有一个 org 文件 里面有很多 babel 源代码块 只需要在代码更改时重新执行 如何防止 org 在导出期间执行所有块 换句话说 将它们全部设置为仅手动执行 我更喜欢单个全局选项 而不必单独编辑每个块 变量org export bab
  • C++ 异常二进制兼容性

    我的项目使用 2 个不同的 C 编译器 g 和 nvcc cuda 编译器 我注意到 g 对象文件中没有捕获从 nvcc 对象文件抛出的异常 C 异常应该在同一台机器上二进制兼容吗 什么会导致这种行为 try kernel new cuda
  • SQL 更新后,wso2 数据服务能否返回受影响的行?

    我已经使用 WSO2 数据服务连接到数据库一段时间了 一切都很完美 只是在 SQL 更新脚本之后我仍然无法获取受影响的行 我已经按照向导一遍又一遍地尝试 但没有找到解决方案 有谁知道如何获得吗 感谢您的提前回复 恐怕没有办法直接获取更新的行
  • makefile 的错误检查行为

    如果我的程序必须为不同的结果 主要是错误 返回不同的值 例如 0 1 2 3 等 则调用该程序的 makefile 将必须停止执行其余的 makefile 命令 即使该命令产生错误 返回非零值 是否有办法继续执行 makefile 谢谢你们
  • 当文件没有 .py 扩展名时为 python 运行 Flymake

    我根本不是一个 lisp 人 但我的主要脚本环境位于 emacs 上 当文件上没有 py 扩展名时 我需要一些帮助来运行我的 Flymake pyflakes 因为我工作中的一些脚本没有 py 扩展名 当我读取 编码扩展名为 py 的文件时
  • 为什么 Firefox 对输入元素使用 IE 框模型?

    尝试以下简单示例 div div div
  • TS-Jest 实用程序丢失

    Well using ts jest 27 x x I could access the utils helper by require ts jest utils and as you can see in the below pictu
  • 将 List 添加到 JSONArray

    我正在尝试使用 JSON 库创建 JSON 目前我正在创建 JSONArray 添加以将列表中的所有值添加到其中 但我面临这个问题 JSONArray 类型中的方法 put int boolean 不适用于参数 String List 在这
  • 在 ListBox 中记录用户可见的项目

    我有一个列表框或数据网格 其中包含数千个条目 我想知道用户查看过的项目 滚动 搜索或其他方式 我如何知道列表框中的用户可以看到什么 奖励 设置一个计时器 以便该项目必须显示至少 N 毫秒 如果用户只是拉下滚动条 Update 这几乎是重复的
  • 如何阻止应用程序在崩溃时重新启动并使崩溃可见?

    我正在开发一个应用程序并使用华为手机进行测试 每当发生崩溃时应用程序就会重新启动并且日志消失 开发人员选项中是否有任何设置或其他设置可以让崩溃对话框出现并显示崩溃日志 我最近了解到这一点 希望对其他人有帮助 像平常一样进行调试 但一旦发生崩
  • Internet Explorer:SCRIPT7002:XMLHttpRequest:网络错误 0x2f7d,由于错误 00002f7d,无法完成操作

    这个问题快把我逼疯了 我们的 Web 应用程序使用 HTTP POST 登录用户 现在 IE 10 正在中止连接并显示 SCRIPT7002 XMLHttpRequest Network Error 0x2f7d Could not com
  • openssl aes gcm 加密,带身份验证 TAG;命令行

    我正在尝试使用 openssl th 命令行以 AES GCM 模式加密文件 openssl enc aes 256 gcm p iv 000000000000000000000000 K 0000000000000000000000000
  • 为什么 jPlayer 无法在 Firefox 中播放我的 MP3 文件?

    我在 Firefox 8 中使用 jQuery Jplayer 播放 MP3 文件时遇到问题 我已经为我的浏览器安装了最新的 Flash 并且我可以看到 jplayer swf 文件正在 Firebug 的 Flash 选项卡中下载 我按此
  • 如何更新reducer中嵌套对象的值?

    我已经像这样建立了我的国家 const list categories Professional active false names id 1 name Golf active false id 2 name Ultimate Frisb
  • 如何通过 Java AWS SDK 使 Cloudfront CDN 提供的文件(待刷新)失效?

    我正在使用 Java SDK 将图像上传到 S3 如何使 CloudFront 中的文件无效 以便从 s3 源重新获取该文件 如何通过Java SDK做到这一点 import com amazonaws services cloudfron
  • 过滤泛型类型

    我正在尝试使用 TypeScript 编写一个函数 该函数允许我根据对象的类型过滤对象列表 结果应该是一个允许我执行以下任一操作的函数 filter
  • 使用 capybara-webkit 检测到死锁

    我正在尝试通过这个规范 scenario Edit a service js true do service create service for provider title First service fill edit service
  • 给定字符生成器和长度,如何生成所有可能字符串的列表?

    例如给定 a b 作为生成器 和 2 作为长度 该函数将输出一个生成器 该生成器将产生 a b ab ba aa bb 或给定 a 长度为 3 a aa aaa 正如您可以想象的那样 如果添加更多字母或增加长度 该集合会变得更大 它应该列出