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

判断数组中是否存在两个元素之和等于给定数值

 
阅读更多
已知int数组a按升序排列,要求用线性时间复杂的算法,判断是否存在一个数n等于数组中某两个元素之和。
线性算法:
取两个数组下标,一个为起始下标,一个为末尾下标,分别即为low和high
(以下代码假设数组尚未排序)
/**
	 * 判断是否存在两个元素之和与给定数相等
	 * @param a
	 * @param n
	 * @return
	 */
	public static boolean withDoubleElements(int []a,int n)
	{
		Arrays.sort(a);
		
		int low = 0,high = a.length-1;
		while(low < high)
		{
			if(a[low] + a[high]>n)
				high --;
			else if(a[low] + a[high]<n)
				low ++;
			else
				return true;
		}
		
		return false;
	}
	
分享到:
评论

相关推荐

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

    根据给定的文件信息,我们将深入探讨如何在C#中实现两个整型数组元素的相加操作,并且会对相关的概念和技术细节进行详细说明。 ### C#中的数组与基本操作 在C#中,数组是一种非常基础的数据结构,用于存储固定大小...

    1.给出一个整数数组,求其中任意两个元素之差的最大值。

    题目要求给定一个整数数组,计算并返回数组中任意两个元素之差的最大值。 #### 解决方案 为了找到数组中任意两个元素之差的最大值,可以采用排序的方法。首先对数组进行排序,然后计算排序后数组中最大值与最小值...

    用matlab如何求出一个数组中最接近某个数的五个数

    在MATLAB中,寻找一个数组中最接近特定数值的五个数是一项常见的操作,特别是在数据分析和算法设计中。这个任务可以通过排序和索引技巧来实现。以下是一个详细的步骤解释: 首先,我们需要一个包含多个数值的数组,...

    在数组中快速查找近似值

    这个话题主要涉及两个核心概念:数组和近似值。数组是一种线性数据结构,它存储了一组相同类型的元素,并通过索引进行访问。近似值则是在数值计算中,当无法得到精确结果时,用一个与精确值接近的数值来代替。 数组...

    结构体数组表分数,求两个分数相加之和

    根据给定的文件信息,本篇文章将详细解析如何在C语言中通过结构体数组表示分数,并实现两个分数相加的功能。 ### 结构体定义与分数表示 首先,我们需要定义一个结构体来表示分数。文件中提供了两种不同的分数...

    给一个整数数组,找到两个数使得他们的和等于一个给定的数 target。输出这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 0 到 n-1。你可以假设数组递增有序,O(N)时间完成

    给一个整数数组,找到两个数使得他们的和等于一个给定的数 target。 你需要输出这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 0 到 n-1。 你可以假设数组递增有序。 请在O(N)时间内完成。 ...

    毕业设计MATLAB_将数组的元素移动给定数量的元素.zip

    标题中的“毕业设计MATLAB_将数组的元素移动给定数量的元素”表明这是一个关于MATLAB编程的毕业设计项目,其核心功能是实现数组元素的移动。在MATLAB中,这种操作通常涉及到数组的移位或者循环移位,这对于信号处理...

    c# 数据组合 从一组数据中 返回组合的和等于某个值 的所有组合

    本主题探讨的是如何从一组数据中找到所有组合,这些组合的和等于给定的目标值。这个问题通常被称为“子集和”或“背包问题”的变种。下面将详细介绍如何实现这个功能。 首先,我们需要理解基本的组合概念。组合是...

    python-leetcode面试题解之寻找两个正序数组的中位数.zip

    2. **处理奇偶性**:首先判断两个数组长度之和是否为奇数,如果是奇数,中位数的位置是`(n + m + 1) / 2`;如果是偶数,则中位数的位置是`(n + m) / 2`。 3. **二分查找**:使用二分查找法来找到合适的分割点。在较...

    寻找两个正序数组的中位数1

    在给定的编程问题“寻找两个正序数组的中位数1”中,我们需要找到两个已排序的整数数组(nums1 和 nums2)的中位数。这个问题是LeetCode平台上的一个问题,它考察了算法设计和理解数组特性的能力。下面我们将详细...

    在python3中实现查找数组中最接近与某值的元素操作

    补充拓展部分提出了一个实验任务,涉及一个动态维护的集合,支持插入元素和查询最接近给定数值的元素。解决这个问题可以使用C++中的`map`容器,它可以自动保持键(元素值)的排序。当集合为空时,输出"Empty!";如果...

    第6章数组和广义表第4讲-小结.pptx

    在给定的题目中,有一个二维数组a[10][20]的例子,如果按列优先存储且a[0][0]的地址为200,那么a[6][2]的地址可以通过先计算前面2列的10个元素(20个单位),再加上6行的6个元素(6个单位)来得出,最终地址为226。...

    数组排序(VB6.0代码编写)给定一个数组,把不是升序的数据去掉,然后重新赋给另一数组

    这段代码首先定义了两个数组,`arrUnsorted`用于存储原始数据,`arrSorted`用于存储排序后的数据。然后通过两层嵌套循环实现冒泡排序,如果当前元素大于后面的元素,则交换它们的位置。最后,输出已排序的数组。 在...

    PHP实现查询两个数组中不同元素的方法

    数组差集运算指的是找出存在于第一个数组而不在第二个数组中的元素(正向差集),或存在于第二个数组而不在第一个数组中的元素(反向差集),或者同时存在于两个数组中的元素(交集)。PHP语言提供了内置的函数来...

    Labview应用技术 数组函数的练习(课堂实训).docx

    这两个函数会遍历整个数组,返回最大或最小的数值。 **四、检索数组元素** 要获取特定位置的元素,如第五行第四列,可以使用“索引到数组元素”函数。给定行和列的索引,它将返回对应位置的值。 **五、截取子数组*...

    产生随机数组并赋值

    `Random`类提供了多种方法来生成不同范围内的随机数,其中`Next`方法是最常用的一种,它接受两个参数,分别表示随机数的最小值和最大值(不包含)。例如: ```csharp a[i, j] = rnd.Next(0, 10); ``` 这行代码将生成...

    PHP 数组的介绍

    - `in_array()`:检查数组中是否存在某个值。 - `array_search()`:在数组中查找给定的值,返回对应的键。 **6. 数组与其他数据类型转换** - `array()`:将非数组类型转换为数组。 - `implode()` 和 `explode()`:...

    如何求最大值以及所在数组里的位置

    本算法的目标是在给定的整型数组中找到最大的数值,并确定其在数组中的确切位置。通过这个简单的示例,我们可以进一步理解和应用类似的算法思路来解决更复杂的问题,比如查找数组中的最小值等。 #### 代码分析 ...

    关于数组的应用和字符串的讲解

    在编程领域,数组和字符串是两种非常基础且重要的...无论是存储和处理大量数值数据,还是处理文本信息,数组和字符串都是开发者手中强大的工具。掌握这些基础知识,将有助于程序员在实际项目中灵活运用,解决复杂问题。

    数组求和,素数,排序算法

    - `if`语句用于在代码中执行条件分支,例如在`max()`函数中检查`max`是否小于等于`a[i]`,在`paixu()`中判断`a[i]`是否小于`a[j]`,在`sushu()`中检查`a[i]%j`是否等于0。 - `switch`语句在`main()`函数中根据用户...

Global site tag (gtag.js) - Google Analytics