• 算法题


    部门优化某公司内有4个项目组,项目组A、B、C、D,项目组A现有10人,项目组B现有7人,项目组C现有5人,项目组D现有4人。为了实现跨项目组协作,公司决定每月从人数最多的项目组中抽调3人出来,到其他剩下3组中,每组1人,这称之为一次调整优化(亦即经过第一次调整后,A组有7人,B组有8人,C组有6人,D组有5人)。那么请问,经过十年的优化调整后,各项目组各有几人?编程求解该问题,并思考是否为最优解。

    /// <summary>
            /// 
            /// </summary>
            /// <param name="a">a部门</param>
            /// <param name="b">b部门</param>
            /// <param name="c">c部门</param>
            /// <param name="d">d部门</param>
            /// <param name="count">调整次数</param>
            public static void MaxPub(int a,int b,int c,int d,int count)
            {
                Dictionary<string, int> keyValues = new Dictionary<string, int>();
                keyValues.Add("a", a);
                keyValues.Add("b", b);
                keyValues.Add("c", c);
                keyValues.Add("d", d);
    
                for (int i = 0; i < count; i++)
                {
                   string max= keyValues.Keys.Select(x => new { x, y = keyValues[x] }).OrderBy(x => x.y).Last().x;
    
                   keyValues[max] = keyValues[max] - 4;
                    for (int j = 0; j < keyValues.Keys.Count; j++)
                    {
                        var item = keyValues.ElementAt(j);
                        keyValues[item.Key]= item.Value + 1;
                    }
                }
            }
    

      

  • 相关阅读:
    15 手写数字识别-小数据集
    14 深度学习-卷积
    5.线性回归算法
    9、主成分分析
    8、特征选择
    4.K均值算法--应用
    6.逻辑回归
    12.朴素贝叶斯-垃圾邮件分类
    13、垃圾邮件2
    大数据应用期末总评
  • 原文地址:https://www.cnblogs.com/zqm1/p/13680879.html
Copyright © 2020-2023  润新知