要求:
有序陣列找目標數字置
思路:
經典二分思想
**:
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...