java - 使用递归无循环查找字符串列表的所有子集
问题描述
是否可以仅使用递归而不使用循环来查找字符串列表的所有子集?这需要多种方法吗?
解决方案
更新
以下解决方案不适合,因为它仅找到子列表的子集,仍将其留在这里,因为它可能对作者有所帮助。
这将是一个解决方案:
public void findSubsets(List<String> list, int listSize)
{
if(listSize <= 1)
{
System.out.println(list.subList(0, 1));
return;
}
System.out.println(list.subList(0, listSize));
findSubsets(list, listSize - 1);
}
或者,如果您需要返回子列表:
public List<List<String>> findSubsets(List<String> list, int listSize, List<List<String>> subLists)
{
if(listSize <= 1)
{
subLists.add(list.subList(0, 1));
return subLists;
}
subLists.add(list.subList(0, listSize));
return findSubsets(list, listSize - 1, subLists);
}
推荐阅读
- python - 使用 azure-sdk-for-python 以 json 格式获取虚拟机大小列表
- azure - 什么是 Azure 应用程序级路由?
- javascript - 带声音的倒数计时器(无按钮)
- python - Python字符串嵌套在字符串下
- hibernate - 使用非托管 pojo 丰富 JPA 实体
- javascript - Puppeteer 无法使用评估获取页面的内部 HTML
- python-2.7 - 湿度读数可疑
- php - 如何在 Prestashop v1.7 中向 CheckOut 添加新步骤?
- python - 使用 R-Squared 评估随机森林性能
- facebook - 我可以使用分享产品自动上传照片吗?