java算法題問題(一)

1、給出 2 * n + 1個數字,除其中一個數字之外其他每個數字均出現兩次,找到這個數字。

2、給一個整數數組,找到兩個數使得他們的和等於一個給定的數 target。
需要實現的函數twoSum需要返回這兩個數的下標, 並且第一個下標小於第二個下標。注意這裏下標的範圍是 0 到 n-1。
注:可以假設只有一組答案。

3、給定一個字符串(以字符數組的形式給出)和一個偏移量,根據偏移量原地旋轉字符串(從左向右旋轉)(字符串長度大於0,偏移量大於0)
樣例:
輸入: str=“abcdefg”, offset = 3
輸出: str = “efgabcd”
樣例解釋: 注意是原地旋轉,即str旋轉後爲"efgabcd"
輸入: str=“abcdefg”, offset = 0
輸出: str = “abcdefg”
樣例解釋: 注意是原地旋轉,即str旋轉後爲"abcdefg"
輸入: str=“abcdefg”, offset = 10
輸出: str = “efgabcd”
樣例解釋: 注意是原地旋轉,即str旋轉後爲"efgabcd"

4、 水仙花數的定義是,這個數等於他每一位上數的冪次之和
比如一個3位的十進制整數153就是一個水仙花數。因爲 153 = 13 + 53 + 33。
而一個4位的十進制數1634也是一個水仙花數,因爲 1634 = 14 + 64 + 34 + 44。
給出n,找到所有的n位十進制水仙花數。可以認爲n小於8

5、一個整數n. 從 1 到 n 按照下面的規則打印每個數:
如果這個數被3整除,打印fizz.
如果這個數被5整除,打印buzz.
如果這個數能同時被3和5整除,打印fizz buzz.
如果這個數既不能被 3 整除也不能被 5 整除,打印數字本身。
比如 n = 15, 返回一個字符串數組:
[“1”, “2”, “fizz”,“4”, “buzz”, “fizz”,“7”, “8”, “fizz”,“buzz”, “11”, “fizz”,“13”, “14”, “fizz buzz” ]
進階:只使用一個if來完成

6、給出兩個整數 a 和 b , 求他們的和(不使用±*/等算數運算符)

7、給出兩個數字 A 和 B,找出 A 與 B 之間所有的數(包括 A 和 B),使得這些數滿足是 3 的倍數,返回這些數的和。

8、實現一個算法確定字符串中的字符是否均唯一出現

9、給定一個字符串,逐個翻轉字符串中的每個單詞。

10、給出一個字符串,找出第一個只出現一次的字符。

11、請判斷字符串 str 是不是一個合法的標識符。合法的標識符由字母(A-Z,a-z)、數字(0-9)和下劃線組成,並且首字符不能爲數字。

12、給一個整數數組,去除重複的元素。要求:
1.在原數組上操作
2.將去除重複之後的元素放在數組的開頭
3.返回去除重複元素之後的元素個數

13、給定一系列的會議時間間隔,包括起始和結束時間[[s1,e1],[s2,e2],…(si < ei),確定一個人是否可以參加所有會議。

14、給定一個不重複有序數組和一個目標值,如果在數組中找到目標值則返回索引。如果沒有,返回到它將會被按順序插入的位置。

15、給定 n 個學生的學號(從 1 到 n 編號)以及他們的考試成績,表示爲(學號,考試成績),請將這些學生按考試成績降序排序,若考試成績相同,則按學號升序排序。

16、對整數數組進行升序排序

17、有 n 道可選的題可以做,每一題都有特定的憂鬱值,你會從中選擇 k 題。如果這 k 題的憂鬱值總和大於等於 m,那麼你就會感到憂鬱,反之,你就感受不到憂鬱。
那麼,請問,有沒有可能你做完 k 題之後感受不到憂鬱?
如果可能,返回 yes。
如果不可能,即你一定會感到憂鬱,那麼返回 no。(即給定一個n個數的數組,任選k個數求和,如果存在和小於m的情況,返回yes,不存在這樣的情況,即最小的k個數和仍大於等於m,則返回no)

18、給出一個鏈表,並將鏈表的值以倒序存儲到數組中。要求:不能改變原始鏈表的結構

19、找鏈表的中點。如果長度是偶數,則返回中間偏左的節點的值

20、在鏈表中按值插入一個節點。

21、計算鏈表中有多少個節點

22、刪除鏈表中的第n到m個節點

23、給定一個二叉樹,找出其最大深度。二叉樹的深度爲根節點到最遠葉子節點的距離

24、給出一棵二叉樹,返回其中序遍歷

25、給一棵二叉樹,找出從根節點到葉子節點的所有路徑

26、給出一棵二叉樹,返回其節點數

27、給定 n 個整數和一個整數 k, 從中選擇 k 個整數, 現在,要求計算出k個數和爲素數共有多少種方案

28、給出一個有n個整數的數組S,在S中找到三個整數a, b, c,找到所有使得a + b + c = 0的三元組。要求a <= b <= c。結果不能包含重複的三元組。

29、反轉鏈表

30、找到鏈表中間結點

31、判斷一個單向鏈表是否有環的存在

32、刪除鏈表倒數第k個結點

33、兩個升序鏈表的合併

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章