日期:2014-05-20 浏览次数:20837 次
看看我写得对不对 int[] Array1={1,2,3,4,5,6} int[] Array2={11,2,3,4,5,6,7,8} int len1=Array1.length int len2=Array2.length list<int> a=new list<int> for (int i=0,i<len1,i++) { a.add(Array1(i)) } for (int j=0,j<len2,j++) { if (!a.Contains(Array2(j))) { a.add(Array2(j)) } } int len3=a.length return len1+len2-len3
------解决方案--------------------
仔细看下啊。
------解决方案--------------------
考虑七楼的建议,另外如果数组元素范围不是太大的话也可以直接用数组
开一个和元素范围一样大的数组(用位数组就可以),先遍历一个数组,在元素出现的位置标为1,再遍历第二个数组,如果元素相应的位置是1则说明重复
------解决方案--------------------
int[m] m1= new int{a1,a2,...,am}; int[n] m2= new int{b1,b2,...,bn}; int iEqualCount = 0 ; for(int i =0;i<m;i++) { int iValue = m1[i]; for(int j=0;j<n;j++) { if(ivalue==m2[j]) iEqualCount ++; } }
------解决方案--------------------
把二个数组合成一个数组,然后排序,然后比较A[i]和A[i+1]是否相同,这样就行了.
------解决方案--------------------
JF
------解决方案--------------------
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
namespace DemoInrtArray
{
class Program
{
static void Main(string[] args)
{
int count = 0;
int[] aArray = new int[] { 1, 2, 3, 45, 6, 7, 890 };
int[] bArray = new int[] { 10, 20, 3, 6, 890, 100, 30, 1 };
int lenA = aArray.Length;
int lenB = bArray.Length;
List <int> cpArray = new List <int>();
if (lenA > lenB)
{
foreach (int a in aArray)
{
cpArray.Add(a);
}
foreach (int b in bArray)
{
if (cpArray.Contains(b))
{
count++;