zoukankan      html  css  js  c++  java
  • 任意给定一整数数组,求两个元素之差的最大值和数组中出现次数最多的数

    要求:不允许使用库函数及外部库,不允许使用现成的排序算法和哈希算法函数

    1、两个元素之差的最大值

         private static void GetMaxMin(int[] arrys)

            {

                //int[] arrys = new int[] { 3, 5, 1, 6, 9, 8, 4, 7, 2 };

                int max = arrys[0];

                int min = arrys[0];

                for (int i = 0; i < arrys.Length; i++)

                {

                    if (arrys[i] > max)

                        max = arrys[i];

                    if (arrys[i] < min)

                        min = arrys[i];

                }

                Console.WriteLine("Max:{0}Min{1},差为{2}", max, min, max - min);

            }

            //2、数组中出现次数最多的数

            /// <summary>

            /// 得到去重复的数组

            /// </summary>

            /// <param name="arrys"></param>

            /// <returns></returns>

            private static int[] GetNewArry(int[] arrys)

            {

                for (int i = 0; i < arrys.Length; i++)

                {

                    for (int j = i + 1; j < arrys.Length; j++)

                    {

                        if (arrys[i] == arrys[j])

                            arrys[i] = 0;

                    }

                }

                List<int> list = new List<int>();

                for (int k = 0; k < arrys.Length; k++)

                {

                    if (arrys[k] != 0)

                        list.Add(arrys[k]);

                }

                int[] arryNew = new int[list.Count];

                for (int n = 0; n < list.Count; n++)

                {

                    arryNew[n] = list[n];

                }

                return arryNew;

            }

     

            /// <summary>

            /// 得到出现最多次数的数

            /// </summary>

            /// <param name="arrysOld"></param>

            /// <param name="arrysNew"></param>

            /// <returns></returns>

            private static int GetMaxCountNum(int[] arrysOld, int[] arrysNew)

            {

                int count = GetMaxCount(arrysOld, arrysNew);

                int tmp = 0;

                for (int i = 0; i < arrysNew.Length; i++)

                {

                    for (int j = 0; j < arrysOld.Length; j++)

                    {

                        if (arrysNew[i] == arrysOld[j])

                        {

                            tmp++;

                        }

                    }

                    if (count == tmp)

                    {

                        return arrysNew[i];

                    }

                    tmp = 0;

                }

                return 0;

            }

     

            /// <summary>

            /// 得到出现最多的次数

            /// </summary>

            /// <param name="arrysOld"></param>

            /// <param name="arrysNew"></param>

            /// <returns></returns>

            private static int GetMaxCount(int[] arrysOld, int[] arrysNew)

            {

                int maxCount = 0;

                int count = 0;//次数

                //int[] arrysCount = new int[arrysNew.Length];

                for (int i = 0; i < arrysNew.Length; i++)

                {

                    for (int j = 0; j < arrysOld.Length; j++)

                    {

                        if (arrysNew[i] == arrysOld[j])

                        {

                            count++;

                        }

                    }

                    //arrysCount[i] = count;

                    if (count > maxCount)

                    {

                        maxCount = count;

                    }

                    count = 0;

                }

                return maxCount;

            }

     

            /// <summary>

            /// 得到数组中的最大数

            /// </summary>

            /// <param name="arrys"></param>

            /// <returns></returns>

            private static int GetMaxNum(int[] arrys)

            {

                int max = arrys[0];

                for (int i = 0; i < arrys.Length; i++)

                {

                    if (arrys[i] > max)

                        max = arrys[i];

                }

                return max;

            }

     

            /// <summary>

            /// 得到数组中零出现的次数

            /// </summary>

            /// <param name="arrys"></param>

            /// <returns></returns>

            private static int GetMaxCountIsZero(int[] arrys)

            {

                int count = 0;

                for (int i = 0; i < arrys.Length; i++)

                {

                    if (arrys[i] == 0)

                        count++;

                }

                return count;

            }

     

            /// <summary>

            /// 克隆一个整型数组

            /// </summary>

            /// <param name="arrys"></param>

            /// <returns></returns>

            private static int[] CloneArry(int[] arrys)

            {

                int[] arrysNew = new int[arrys.Length];

                for (int i = 0; i < arrys.Length; i++)

                {

                    arrysNew[i] = arrys[i];

                }

                return arrysNew;

    }

    在招聘网上看到的题目,随便坐了下,可能还有bug,望大家指出!!

  • 相关阅读:
    Sitecore Digital Marketing System, Part 1: Creating personalized, custom content for site visitors(自定义SiteCore中的 Item的Personalize的Condition) -摘自网络
    Send email alert from Performance Monitor using PowerShell script (检测windows服务器的cpu 硬盘 服务等性能,发email的方法) -摘自网络
    使用Mono Cecil 动态获取运行时数据 (Atribute形式 进行注入 用于写Log) [此文报考 xxx is declared in another module and needs to be imported的解决方法]-摘自网络
    秒杀 ILSpy 等反编译利器 DotNet Resolver
    Nagios:企业级系统监控方案
    C# Asp.net中的AOP框架 Microsoft.CCI, Mono.Cecil, Typemock Open-AOP API, PostSharp -摘自网络 (可以利用反射 Attribute 进行面向切面编程 可以用在记录整个方法的Log方面)
    Windows性能监视器之CPU、硬盘、IO等监控方法详解-摘自网络
    网站防刷方案 -摘自网络
    利用XSD配合XSLT產出特定格式Word檔案 -摘自网络
    asp页面快速找到菜单按钮转向的页面的方法
  • 原文地址:https://www.cnblogs.com/cyan/p/1606004.html
Copyright © 2011-2022 走看看