那位同学碰到新的算法题了。

去除A和B数组中的交集 ,即去除A和B数组中重复次数少的部分如A:111B:11,即去除B中的11

下面是我的解决方案,另希望他最后面试能过:

    class Program
    {
        static void Main(string[] args)
        {
            int[] ar = { 1, 2, 6, 3, 4, 5 };
            int[] ar2 = { 100,100, 3, 2, 6, 100, 9, 3, 4, 7 };
            try
            {
                Console.WriteLine(get2rdMax(ar).ToString());
                Console.WriteLine(get2rdMax(ar2).ToString());
            }
            catch(Exception exc)
            {
                Console.WriteLine(exc.Message);
            }
        }

private static int get2rdMax(int[] ar)
        {
            if (ar.Length < 2)
                throw new Exception("no second max!");

int max=ar[0], s_max=ar[0];

for (int i = 1; i < ar.Length; i++)
            {
                int index = ar[i];

if (index == max)
                    continue;//重复值问题

if (s_max == ar[0] && max == ar[0])
                {
                    s_max = index;
                }
                
                if (index > s_max)
                {
                    s_max = index;
                }

if (s_max > max)
                {
                    max += s_max;
                    s_max = max - s_max;
                    max -= s_max;
                }
                
            }

if (max == s_max)
                throw new Exception("no second max!");
            else
                return s_max;
        }

}

本文转自today4king博客园博客,原文链接:http://www.cnblogs.com/jinzhao/archive/2011/03/31/2001407.html,如需转载请自行联系原作者

去除A和B数组中的交集相关推荐

  1. java 数组去除重复_Java从数组中删除重复项?

    Java从数组中删除重复项? 我应该在包含许多不同电子邮件地址的文件中读取并使用数组打印出来.问题是我需要消除重复的电子邮件. 我能够让我的try / catch工作并打印出电子邮件地址.但是,我不知 ...

  2. 去除数组中指定元素的方法

    情况一:如果去除指定元素在数组中不是连续出现 比如数组 arr = [3,0,11,0,3,0,66]; 方法一:使用添加元素的方法.push(); var arr = [3, 0, 11, 0, 3 ...

  3. php 队列取并集,php多个数组并集、交集和差集操作函数总结

    php中的数组函数真的是非常之多,实际工作中多了解一些php自身存在的一些函数,将会大大提高工作的速度. 在php中如何处理两个或多个数组的并集,交集和差集的函数. (1)php计算两个或多个数组的并 ...

  4. java中json重复数据结构_JS实现去除数组中重复json的方法示例

    本文实例讲述了JS实现去除数组中重复json的方法.分享给大家供大家参考,具体如下: var array = [{"name":"123"},{"na ...

  5. java删除有序数组中的重复元素_java去除已排序数组中的重复元素

    题目描述 给定一个已排序的数组,去除数组中的重复元素,只保留一个重复的元素,并且返回新的数组长度. 要求: 不要给数组分配额外的空间,你必须使用常量的内存大小进行原地操作. 例如: 给出数组A=[1, ...

  6. php 去除二维数组中的包含某一个值的数组

    今天写程序,遇到一个的问题. 我想把一个二维数组中的包含某一个值的数组去掉,并重新生成索引下标 例如: $all_zone=array(array("id"=>"R ...

  7. np.unique( )--去除数组中的重复数字,并进行排序之后输出

    该函数是去除数组中的重复数字,并进行排序之后输出. 要求是 arr 里面是相同的维数. import numpy as npresult1 = np.unique([1, 1, 2, 2, 2, 3, ...

  8. 原生JS去除二维数组中重复了的一维数组

    <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8" ...

  9. php删除数组中的空行,php处理文件的思考(去除空行、每行多余字符)

    1.去除空行 $str = file_get_contents('a.txt'); $str = explode(PHP_EOL, $str); //分割为数组,每行为一个数组元素 $str = ar ...

  10. 去除html重复的元素 js,js数组中去除重复值的几种方法

    在日常开发中,我们可能会遇到将一个数组中里面的重复值去除,那么,我就将我自己所学习到的几种方法分享出来 去除数组重复值方法: 1,利用indexOf()方法去除 思路:创建一个新数组,然后循环要去重的 ...

最新文章

  1. R语言使用ggplot2包使用geom_density()函数绘制基础密度图实战(density plot)
  2. 北京驾照到期换证简记
  3. ABAP 时间月份的F4帮助
  4. Hbase的读写流程
  5. linux usb 重启,在ubuntu下重启指定的USB口
  6. MyBatis创建SqlSession可以直接使用DefaultSqlSession 吗?
  7. sublime text 3安装及使用
  8. google浏览器 隐藏功能开启
  9. python的使用说明_Python教程:Python中__init__.py的使用用法说明
  10. 3D视觉——基恩士LJ-X系列线激光
  11. python改错题重要的事情说三遍_5个很好的Python面试题问题答案及分析
  12. 【从零开始学习SLAM】ros navigation AMCL move_base配置文件 A-Star Dijkstra 算法原理
  13. java drawline_JAVA drawLine()方法怎么用?
  14. 解决可视化界面的时候灰屏【已解决】
  15. 中国互联网的N个第一
  16. SageMath的使用
  17. 关联规则 置信度与支持度以及Apriori算法简介
  18. 工程师视角的手游SDK
  19. 坐飞机时为什么不能说一路顺风
  20. Can总线基本关注事项(仲裁、电气、阻抗计算、负载率)

热门文章

  1. 广金计算机网络有限公司怎么样,广东金融学院到底怎么样!?
  2. CART分类树算法的最优特征选择
  3. 简述delete与delete[]的区别
  4. 推荐系统-猜你喜欢设计
  5. 数据库基础(5)1NF,2NF,3NF,BCNF 四大范式的定义和判别
  6. android studio for android learning (十三) 一个简单的图片查看器示例
  7. 基础集合论 第一章 9 幂集
  8. Depix从像素化屏幕快照中恢复密码
  9. java 函数式编程应用_java8 函数式编程应用
  10. flask第九篇——url_for【2】