一些基礎演算法基礎程式設計思維

2021-06-27 20:23:59 字數 1136 閱讀 9024

1. 陣列中兩個元素相加等於指定數的所有組合(僅用一次迴圈且不能建立新的陣列或者集合)

思路:從陣列的前後兩端(i=0,j=array.lengths)分別利用指標(計數器)來掃瞄陣列,如果滿足相加等於目標則列印,否則當sum

// 快速尋找滿足條件的兩個

// 陣列中兩個數的和滿足指定結果

public

class

test

;static

intmaxindex

=arr

.length -1

;// 索引最大值

static

intsum =11

;// 求兩個數的和等於的值

public

static

void

main

(string

args

)// 如果:sumarr[i]+arr[j] j--

static

void

find1

(int

arr)

elseif(

arr[i]

+arr[j

]<

sum)

else}}

}

補充:啟用兩個指標(計數器)演算法思維也適用於「從陣列(單鏈表)中找出倒數第k個元素」

public static void main(string args) ;

int i1 = 0;

int k = 3;

int i2 = 0;

while (array.length > 0)

//僅當第二個指標已經開始,才繼續計數

if (i2 > 0)

//當第乙個指標到底時

if (i1 == array.length - 1)

}}

2. 指定範圍內的完數查詢

迴圈指定範圍的數,找出此數的整除數 sum += i //i為整除數

public static void findperfectnum(int n) 

}if (sum == n)

}

一些基礎演算法

1.字串的順序反向輸出和數值的引用傳遞 public class myclass public integer aaa integer i public static string reverse string s 2.數值排序 public class test int arry test tes...

關於一些基礎演算法

一 查詢演算法 1 順序查詢 從頭到尾逐個比較。優點 對資料沒有要求,演算法穩定。缺點 效率低,不適合大規模資料的查詢。2 二分查詢 資料必須是有序的,然後與中間值比較,比中間大則向右半部分查詢,比中間值小則向左半部分查詢。優點 效率高 極高 缺點 資料必須先進行排序。3 塊查詢 類似於查詢英文詞典...

OC語言的一些基礎演算法

1 逆序查詢 void reversesequencelookupwitharray nsmutablearray array 注意 比較大小時注意把陣列裡面的物件轉換為基本資料型別再進行比較 2 選擇排序 void selectsortwitharray nsmutablearray array ...