使用全排列管理订单

一 问题描述

商店经理按货物标签的字母顺序对各种货物进行分类,将所有拥有同一字母开头标签的货物存储在同一个仓库中,并用该字母标记。经理收到并登记从商店发出的货物订单,每个订单只需要一种货物,商店经理按照预定的顺序处理请求。请计算经理访问仓库的所有可能方式,以便在一天中一个接一个地解决所有需求。

输入:输入包含一行,其中包含所需货物的所有标签(随机排列)。对每种货物都用标签的起始字母表示,只使用英文字母表的小写字母。订单数量不超过200个。

输出:输出将包含商品经理可以访问其仓库的所有可能订单。对每个仓库都用英文字母表中的一个小写字母表示——货物标签的起始字母。仓库的每个排序在输出文件中只在单独的行上写入一次,并且包含排序的所有行必须按字母顺序排序。任何输出都不会超过2MB字节。

输入样例

bbjd

输出样例

bbdj

bbjd

bdbj

vdjb

bjbd

dbbj

dbbj

djbb

jbbd

jbdb

jdbb

二 算法分析

其实就是按顺序输出字符串的全排列。

三 实现

package collection;

import java.util.*;

public class PermutationDemo<T extends Comparable> {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值