去除A和B数组中的交集

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

去除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,如需转载请自行联系原作者

相关文章
|
6月前
【Leetcode -349.两个数组的交集 -350.两个数组的交集Ⅱ】
【Leetcode -349.两个数组的交集 -350.两个数组的交集Ⅱ】
21 0
|
3月前
|
C++
两个数组的交集 II(C++)
两个数组的交集 II(C++)
24 0
|
3月前
|
C++
两个数组的交集(C++)
两个数组的交集(C++)
15 0
|
4月前
|
存储 数据处理 数据库
两个数组的交集(C++实现)
两个数组的交集(C++实现)
43 1
|
8月前
List 集合去除重复元素的5种方法
List 集合去除重复元素的5种方法
174 0
|
8月前
2023-4-6-C++Vector求交集并集和差集(去除冗余数)
2023-4-6-C++Vector求交集并集和差集(去除冗余数)
51 0
两个数组的并集、交集
两个数组的并集、交集
|
10月前
|
算法 JavaScript 前端开发
去除重复元素
去除重复元素
48 0
|
10月前
两个数组的交集 II
两个数组的交集 II
39 0