qq_45735316 2020-04-18 22:01 采纳率: 94.1%
浏览 175
已采纳

这题代码该怎么写?求思路

图片说明

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-04-19 11:54
    关注

    拿C#简单写一个吧,算出来结果2520
    其实也就是不重复字符的个数的阶乘。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace Q1064310
    {
        class Program
        {
            static IEnumerable<string> foo(string seed, List<string> remain)
            {
                if (remain.Count == 0)
                {
                    yield return seed;
                }
                else
                {
                    for (int i = 0; i < remain.Count; i++)
                    {
                        var newlist = remain.ToList();
                        string s = newlist[i];
                        newlist.RemoveAt(i);
                        foreach (var item in foo(seed + s, newlist))
                            yield return item;
                    }
                }
            }
            static void Main(string[] args)
            {
                string s = "LANQIAO";
                var query = foo("", s.Select(x => x.ToString()).ToList()).Distinct();
                foreach (var item in query)
                {
                    Console.WriteLine(item);
                }
                Console.WriteLine("total: {0}", query.Count());
            }
        }
    }
    
    

    ....前面省略
    OINAALQ
    OINAAQL
    OINQLAA
    OINQALA
    OINQAAL
    OIQLANA
    OIQLAAN
    OIQLNAA
    OIQALNA
    OIQALAN
    OIQANLA
    OIQANAL
    OIQAALN
    OIQAANL
    OIQNLAA
    OIQNALA
    OIQNAAL
    total: 2520
    Press any key to continue . . .

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 关于#python#的问题:自动化测试