找出陣列中相加等於某數的兩個數
public static void main(String[] args) throws IOException {
int[] a={4,5,3,2,7,9,1};
findSumNum(a,10);
//1,9
//3,7
//5,5
}
//給定一個數字,一個數組,找出陣列中相加等於這兩個數的和,不能用資料結構
public static void findSumNum(int[] a,int sum){
Arrays.sort(a);
int i=0,j=a.length-1;
while(i<=j){
if(a[i]+ a[j]<sum) i++;
else if(a[i]+a[j]>sum) j--;
else {
System.out.println(a[i]+","+a[j]);
i++;
}
}
}
相關推薦
找出陣列中相加等於某數的兩個數
public static void main(String[] args) throws IOException { int[] a={4,5,3,2,7,9,1}; findS
找出陣列中移除的數與重複的數
題目描述: 陣列arr為一亂序陣列,但排序後是[1,2,3,4,5,…,n-1,n]; 從其中隨機取出一個數,再隨機將其中的一個數重複,陣列大小還是為n,請設計一個O(n)的演算法,找出取出的數與移除的數。 例如: 輸入:6 4 5 1 5 3 輸出:2(移除的
JS找出陣列中唯一不同的數
一個數組中只有一個數是唯一的,其他數都是成對出現,找出這個唯一的數。 分析:由於位運算子異或運算的特點,即兩個相同的數進行異或運算時,其結果為0,所以當將陣列中所有的元素進行異或運算時,其結果必定為那
資料結構——陣列(5)找出陣列中唯一重複的數(元素範圍1~1000)
這個題目本身就有一定侷限性。比如,對於陣列a[10001],其中,1000個數就是1~1000的每個數,可以任意排列,然後再多一個重複的數。題目就是怎麼求出這個特殊的重複的數。 這一類問題的解決思路主要有以下幾種: 方法一:先求和,再相減。即陣列元素值求和,
找出陣列中任一重複的數_C++
題目:一個長度為n的陣列,陣列中的值屬於0~(n-1)範圍內。現已知該陣列中一定有重複的數字,請找出任意一個重複的數字。 思路:如果該陣列中沒有重複的數字,那麼下標和下標對應的值就
Python中找出陣列中第二大的數
已知numpy函式庫中max和argmax函式可以得出一個數組中最大的成員以及所在位置: import numpy as np arr = [2, 3, 4, 1, 7, 6, 5] print("# arr中最大的數為{},位於第{}位".format(np.max(arr), np.a
如何找出陣列中第二大的數
package java程式設計師面試筆試寶典; public class 題8_5_2找出陣列中第二大的數 { public static void main(String[] args) {
找出陣列中符合條件的數對的個數
題目:一個整型陣列,元素取值可能是1~N(N是一個較大的正整數)中的任意一個數,相同數值不會重複出現。設計一個演算法,找出數列中符合條件的數對的個數,滿足數對中兩數的和等於N+1。 方法一:排序+二分查詢。先對陣列進行排序,然後遍歷該有序陣列,同時使用二分查詢
找出陣列中超過半數的數
題目:陣列中出現次數超過一半的數字 idea: solution1:如果是排序好的陣列,則位於陣列正中間位置的數字即為要尋找的數字。因此先對陣列進行排序,再取出中間位置的數字。該解法需要對陣列排序,時間複雜度略高 solution2:利用快排的想法,找到下標是陣列中間位置的
[c語言]codeday15找出陣列中出現一次的兩個值以及喝汽水模擬實現strcpy和
1.一個數組中只有兩個數字是出現一次, 其他所有數字都出現了兩次。 找出這兩個數字,程式設計實現 #include<stdio.h> void find(int arr[],int len,int *m,int *n) { int s = 0;
Java面試寶典——求陣列中兩兩相加等於指定數的組合種數 + 如何找出陣列中第k個最小的數
求陣列中兩兩相加等於指定數的組合種數package demos.array; import java.util.Arrays; /** * @author wyl * @time 2018年7
【簡單演算法】1.兩數之和,給定整數陣列和目標值,找出陣列中2數之和等於目標值的元素
接觸了程式碼,那麼演算法始終是繞不開的一個重點。 演算法對於開發人員,在日常之中的作用很大,但是對於測試人員來說,實際編碼中用到的似乎不是很多。 不過,現在大廠的測試開發的面試,演算法是必考的,而且這也的確是你的程式碼功底的一項重要體現,學學沒壞處。 ![](https://img2020.cnblogs
劍指-OFFER_3 java_在一個長度為n的數組裡的所有數字都在0到n-1的範圍內。 陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意一個重複的數字。
題源: 在一個長度為n的數組裡的所有數字都在0到n-1的範圍內。 陣列中某些數字是重複的,但不知道有幾個數字是重複的。也不知道每個數字重複幾次。請找出陣列中任意一個重複的數字。 例如,如果輸入長度為7的陣列{2,3,1,0,2,5,3},那麼對應的輸出是第一個重複的數字
找出陣列中唯一的出現奇數次的數
題目 已知陣列長度為n,且其中只有一個數字出現過奇數次,其他數字都出現偶數次,找出出現奇數次的這個數。 思路 遍歷陣列,依次異或。 程式碼實現 public int solution (int[] nums) { int res = 0; for (
百度面試題:找出陣列中出現次數超過一半的數
現在有一個數組,已知一個數出現的次數超過了一半,請用O(n)的複雜度的演算法找出這個數。 Thinking……/>/> Thinking……/>/>/> Thinking……/>/>/> Thinking……/>/>/> Think
演算法習題61:找出陣列中兩個只出現一次的數字:一個整型數組裡除了兩個數字之外,其他的數字都出現了兩次
找出陣列中兩個只出現一次的數字 題目:一個整型數組裡除了兩個數字之外,其他的數字都出現了兩次。 請寫程式找出這兩個只出現一次的數字。要求時間複雜度是 O(n),空間複雜度是 O(1)。 --------------------------------------------
陣列:找出陣列中重複元素最多的數
題目描述: 如何找出陣列中重複元素最多的數 思路: 使用Map對映表記錄每一個元素出現的次數,然後判斷次數大小,進而找出重複次數最多的元素。key表示陣列的元素,value表示這個元素在陣列中出現的次數。最後對map進行遍歷。 程式碼: /** * 使用map
找出陣列中第k大的數(時間複雜度分析、C++程式碼實現). TopK in array. ( leetcode
找出陣列中第k大的數. TopK in array. ( leetcode - 215 ) 最近面試過程中遇到的一個題目,也是大資料時代常見的題目,就來總結一下。 面試題目: 1、10億數中,找出最大的100個數。用你能想到的最優的時間和空間效率。 2
找出陣列中每個數的右邊第一個比它大的數
#include <bits/stdc++.h> using namespace std; vector<int> findMax(vector<int>num) { if(num.size()==0)return num;
有一個整數陣列,請你根據快速排序的思路,找出陣列中第K大的數。 給定一個整數陣列a,同時給定它的大小n和要找的K(K在1到n之間),請返回第K大的數,保證答案存在。
一, 原快速排序的實現 http://blog.csdn.net/taotaoah/article/details/50987837 using System; namespace taotao {