經典查詢演算法題(java實現)

2021-09-22 18:26:47 字數 767 閱讀 2519

要求:

有序陣列找目標數字置

思路:

經典二分思想

**:

public

static

intfind

(int

arr,

int target,

int left,

int right)

return-1

;//找不到輸出-1

}

要求:

查詢有序陣列相同數字的左邊界,如1 2 3 3 3 3 4,獲得左邊界為2,右邊界為5

思路:

和二分查詢差不多,但是,在找到目標數字時盡可能左靠或右靠

**:

int

getl

(int

arr,

int k,

int left,

int right)

else

}return left;

}int

getr

(int

arr,

int k,

int left,

int right)

else

}return right;

}

經典鍊錶演算法題(Java實現)

要求 輸入乙個單鏈表,輸出此煉表中的倒數第 k 個節點。思路 兩個指標指向頭節點,乙個指標先走k 1步,兩個指標一起往前走,當快指標走到最後時,慢指標指向的就是倒數第k個節點了 static listnode findlastnode listnode head,int k while pre.ne...

JAVA經典演算法四題

程式4 題目 將乙個正整數分解質因數。例如 輸入90,列印出90 2 3 3 5。程式分析 對n進行分解質因數,應先找到乙個最小的質數k,然後按下述步驟完成 1 如果這個質數恰等於n,則說明分解質因數的過程已經結束,列印出即可。2 如果n k,但n能被k整除,則應列印出k的值,並用n除以k的商,作為...

JAVA經典演算法40題 2

程式3 題目 列印出所有的 水仙花數 所謂 水仙花數 是指乙個三位數,其各位數字立方和等於該數本身。例如 153是乙個 水仙花數 因為153 1的三次方 5的三次方 3的三次方。1.程式分析 利用for迴圈控制100 999個數,每個數分解出個位,十位,百位。public class exp2 cl...