一直想寫乙個陣列求和演算法系列部落格,但由於自己演算法能力有限,完成不了,只能完成其中簡單的部分,難的部分希望有園友願意和我一起完成。在寫這篇部落格的過程中借用了別人的思路,有的的確是要一定的演算法和資料結構基礎,特別是對遞迴的理解,到現在為止我覺得我還沒有真正的理解遞迴。我一向不太喜歡廢話,我的部落格要麼是有關分析的,要麼就是原始碼。
下面的**希望對你有所幫助:
//在排序陣列中查詢和為給定值的兩個數字,輸出一對 void finetwo(int *a,int size,int n) int beg=0; int end=size-1; while(begn) } sum+=++end; } } void print(int beg,int end) } void combine(char* str, int num, vector& res) cout<
6. 找出排序陣列中所有和等於給定數的所有序列
我本來的思路是想找出由最小的一組數的和等於給定的數,然後對這一組數進行組合,得出其他的一些序列,後來發現這個思路有缺陷,就放棄了,暫時還沒有想到其他的思路。
7. 找出由最小的一組數的和等於給定的數,又延伸延伸出另乙個題目:在排序陣列中,找出由個數最多的一組和等於給定數的序列。
//arr排序陣列,bsize得出的序列元素個數,sum給定數,後來發現這個思路又是錯的 int* getbasearr(int* arr,int& bsize,int sum) { int tmpsum=arr[0]; int i=1; while(tmpsumsum) { k=tmpsum-sum; for(int j=0;j
8. 在排序陣列中,找出由個數最少的一組和等於給定數的序列。
6,7,8題,希望有興趣的園友可以做一下
部落格:
java演算法系列
棧的概念 棧是一種特殊的線性表,堆疊的資料元素以及資料元素之間的關係和線性表是完全一樣的。差別是線性表是在任意位置進行插入和刪除操作,棧是只允許在固定的一端進行插入和刪除,棧的插入和刪除只允許在棧頂,棧的插入和刪除通常稱為進棧和出棧。資料集合 每個資料元素的資料型別可以是任意的型別 操作的集合 進棧...
演算法系列 Move Zeroes
given an array nums,write a function to move all 0 s to the end of it while maintaining the relative order of the non zero elements.for example,given ...
演算法系列 Missing Number
given an array containing n distinct numbers taken from 0,1,2,n,find the one that is missing from the array.for example,given nums 0,1,3 return 2.note...