演算法 和為x

2021-09-01 20:36:29 字數 584 閱讀 1680

實現乙個時間複雜度為θ(nlogn)的演算法,該演算法對給定n個整數的集合s和另乙個整數x,確定s中是否存在兩個其和剛好為x的元素。

採用快速排序的方法對其進行排序,然後再從排好的的序列中比較,存在相加和為x則成立。

#includeusing namespace std;

int add_equal_x(int s,int x,int n);

void quicksort(int a,int p,int r);

int partition(int a,int p,int r);

void swap(int &x,int &y);

void quicksort(int a,int p,int r)

a[p]=a[j];

a[j]=x;

return j;

}void swap(int &x,int &y)

int add_equal_x(int s,int x,int n)

return 0;

}int main()

return 0;

}

演算法 和為定值

輸入乙個陣列和乙個數字,在陣列中查詢兩個數,使得它們的和正好是輸入的那個數字。要求時間複雜度是o n 如果有多對數字的和等於輸入的數字,輸出任意一對即可。例如輸入陣列1 2 4 7 11 15和數字15。由於4 11 15,因此輸出4和11。咱們試著一步一步解決這個問題 注意闡述中數列有序無序的區別...

演算法訓練 和為T

問題描述 從乙個大小為n的整數集中選取一些元素,使得它們的和等於給定的值t。每個元素限選一次,不能乙個都不選。輸入格式 第一行乙個正整數n,表示整數集內元素的個數。第二行n個整數,用空格隔開。第三行乙個整數t,表示要達到的和。輸出格式 輸出有若干行,每行輸出一組解,即所選取的數字,按照輸入中的順序排...

演算法訓練 和為T

問題描述 從乙個大小為n的整數集中選取一些元素,使得它們的和等於給定的值t。每個元素限選一次,不能乙個都不選。輸入格式 第一行乙個正整數n,表示整數集內元素的個數。第二行n個整數,用空格隔開。第三行乙個整數t,表示要達到的和。輸出格式 輸出有若干行,每行輸出一組解,即所選取的數字,按照輸入中的順序排...