`
javatome
  • 浏览: 820224 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

给出一个数组,一个数字,输出数组中所有两个元素相加正好等于该数字的组合,不能有重复。

 
阅读更多

c# codes as below:

using System;

namespace MyApp

{

class Program

{

static void Main()

{

int[] arr1 = { -1, -2, 3, 4, -5, 6, 7, 8, 9, 4,4,4,4,4,4,4,4,4,4,10000,1,1,1,1,2,2,2,2,2,3,3,3,3,3,3,5,5,5,5,5,5,7,7,7,7,9,10,12,13};

int[] arr2 = { 0 };

int[] arr3 = new int[0];

GetNum(arr1, 8);

Console.WriteLine();

GetNum(arr2, 8);

Console.WriteLine();

GetNum(arr3, 8);

Console.ReadKey();

}

static void GetNum(int[] arr, int num)

{

if (arr.Length == 0 || arr == null)

return;

int maxNum = arr[0];

int minNum = arr[0];

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

{

if (maxNum < arr[i])

maxNum = arr[i];

if(minNum>arr[i])

minNum=arr[i];

}

bool[] marks = new bool[maxNum-minNum+1];

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

marks[arr[i] - minNum] = true;

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

{

if((num-arr[i]-minNum)>=0&&(num-arr[i]-minNum)<(maxNum-minNum))

{

if (marks[num - arr[i] - minNum] == true)

{

Console.WriteLine("{0} and {1}", arr[i], num - arr[i]);

marks[num - arr[i] - minNum] = false;

marks[arr[i] - minNum] = false;

}

}

}

}

}

}

分享到:
评论

相关推荐

    C# 将两个整型数组的元素相加

    C# 将两个整型数组的元素相加。别忘给评分!

    数组与数组相加的源程序(VB6.0源代码编写),给出两个数组,程序把两个数组加在一起。

    数组与数组相加的源程序(VB6.0源代码编写),给出两个数组,程序把两个数组加在一起。

    c语言实现的_两个大小相同的数组对应值相加 结果赋给第三个数组

    c 语言实现的 两个大小相同的数组对应值相加 结果赋给第三个数组 注意只适合初学者噢! 即:Stephen Prata的c primer plus中文版(第四版)P294:10.13-9;与之对应的(第五版)P281:10.13-9. 另:程序由 vc6.0编译通过.

    labview处理两个数组相关的数组

    具体可以看这个连 https://blog.csdn.net/Li_haiyu/article/details/85469528 然后确定是否需要

    用C++二维数组做的两个矩阵相加 没有考虑任何条件

    用C++二维数组做的两个矩阵相加 没有考虑任何条件

    实验二 数组与类的声明

    本程序创建了一个长度为101的一维数组,并赋值为0到100,然后将所有元素相加,输出运算结果。源代码如下,输出结果为5050。把程序补充完整,并编译运行,观察结果。 2、设计类来描述真实客观世界中的事物,使用类的...

    求排列组合集源码

    C++编的求简单数字序列组合子集的程序。 注:只接受数字序列!

    实验4 数组(4学时)

    1、在main方法中创建一个含有10个元素的int型数组,进行以下操作:(1)将数组元素按照从小到大的顺序排列;(2)对排好序的数组使用折半查找(使用递归和非递归两种形式分别实现)查找某一个int元素。 2、使用一维...

    vue实现将一个数组内的相同数据进行合并

    获取服务器传来的数组数据进行,找出其中价格相同的进行数量相加,合并该段数据: /** 先将传来的订单列表进行四舍五入,再将价格相同的订单进行合并 * @param {Object} orderList :要进行操作的订单 */ async ...

    MATLAB元胞数组Cell类型求和函数

    对MATLAB元胞数组Cell类型求和函数,每个元胞size需相同,输出为元胞的size大小的矩阵

    leetcode答案-code:学习

    target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 add-two-numbers 给出两个 非空 的链表用来表示...

    JS实现二维数组元素的排列组合运算简单示例

    主要介绍了JS实现二维数组元素的排列组合运算,结合实例形式分析了javascript针对二维数组的遍历、排列组合运算等相关操作技巧,需要的朋友可以参考下

    C语言程序设计标准教程

    int类型,该类型占两个字节的内存空间,所以每个元素均占有两个 字节(图中每一格为一字节)。 二维数组元素的表示方法  二维数组的元素也称为双下标变量,其表示的形式为: 数组名[下标][下标] 其中下标应为整型...

    leetcode不会-two-sum-array-of-integers:给定一个整数数组,返回两个数字的索引,使它们相加为特定目标。http

    给定一个整数数组,返回两个数字的索引,使它们相加为特定目标。 您可以假设每个输入都只有一个解决方案,并且您不能两次使用相同的元素。 例子: Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums...

    一维动态数组实现的矩阵类

    实现有两个类 CVector 存放数据的自定义动态数组,采用一维动态数组存储矩阵数据 CMatrix 实现的矩阵类 使用的时候包含#include "Matrix.h"就行 CMatrix的接口函数都在"Matrix.h"里面 CVector的接口函数在"Vector.h...

    javascript文档

    concat 方法 (Array) 返回一个由两个数组合并组成的新数组。 concat 方法 (String) 返回一个包含给定的两个字符串连接的String 对象。 条件(三元)运算符 (?:) 根据条件执行两个表达式之一。 constructor ...

    php中对2个数组相加的函数

    //遍历第二个数组,如果键名不存在与第一个数组,将数组元素增加到第一个数组 foreach($b as $key=&gt;$value){ if(!array_key_exists($key, $a)){ $a[$key]=$value; } } //计算键名相同的数组元素的和,并且替换原...

    JScript 语言参考

    concat 方法 (Array) 返回一个由两个数组合并组成的新数组。 concat 方法 (String) 返回一个包含给定的两个字符串连接的String 对象。 条件(三元)运算符 (?:) 根据条件执行两个表达式之一。 constructor ...

    微软JavaScript手册

    concat 方法 (Array) 返回一个由两个数组合并组成的新数组。 concat 方法 (String) 返回一个包含给定的两个字符串连接的String 对象。 条件(三元)运算符 (?:) 根据条件执行两个表达式之一。 constructor ...

Global site tag (gtag.js) - Google Analytics