給乙個包含 n 個整數的陣列 s, 找到和與給定整數 target 最接近的三元組,返回這三個數的和。
解答部分for example, given array s = , and target = 1.
the sum that is closest to the target is 2. (-1 + 2 + 1 = 2).
二:**號碼的字母組合public class solution
arrays.sort(numbers); // 對陣列進行排序
int bestsum = numbers[0] + numbers[1] + numbers[2];
for (int i = 0; i < numbers.length; i++)
if (sum < target) else }}
return bestsum;}}
給定乙個僅包含數字 2-9 的字串,返回所有它能表示的字母組合。
給出數字到字母的對映如下(與**按鍵相同)。注意 1 不對應任何字母。
按鍵對應的拼音字母截圖如下
分析:把每個數字按鍵和各個的字母對應起來封裝即可。輸入:"23"
輸出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].
四數之和
描述:給定乙個包含 n 個整數的陣列 nums 和乙個目標值 target,判斷 nums 中是否存在四個元素 a,b,c,和 d,使得 a + b + c + d 的值和 target 相等?找出所有滿足條件且不重複的四元組。
tips:答案中不可以包含重複的四元組
刪除鍊錶的倒數第 n 個節點public class solution
for (int j = i + 1; j < num.length - 2; j ++) else if (sum > target) else
while (left < right && num[right] == num[right + 1]) }}
}}return rst;}}
給定乙個鍊錶,刪除鍊錶的倒數第 n 個節點,並且返回鍊錶的頭結點。
示例:
說明:給定乙個鍊錶: 1->2->3->4->5, 和 n = 2.
當刪除了倒數第二個節點後,鍊錶變為 1->2->3->5.
給定的 n 保證是有效的。
介紹,思想就是定義兩個指標,可以第乙個先走 n 步,之後在同時移動這兩個指標即可。
括號匹配題目public class solution
listnode dummy = new listnode(0);
dummy.next = head;
listnode predelete = dummy; // 定義乙個指標指向第乙個節點
for (int i = 0; i < n; i ++)
head = head.next;
}while (head != null)
predelete.next = predelete.next.next;
return dummy.next;}}
注意空字串可被認為是有效字串。
示例 1:
示例 2:輸入: "()"
輸出: true
示例 3:輸入: "(){}"
輸出: true
示例 4:輸入: "(]"
輸出: false
示例 5:輸入: "([)]"
輸出: false
tips:tochararray() 方法將字串轉換為字元陣列。2,注意題目要求不是輸入的括號需要成對出現才行。只要有不匹配的就可以直接返回 false。輸入: ""
輸出: true
括號生成public class solution
if (c == ')')
}if (c == ']')
}if (c == '}') }}
return stack.isempty();}}
給出 n 代表生成括號的對數,寫出乙個函式,使其能夠生成 所有 可能的並且有效的括號組合
解答:[
"((()))",
"(()())",
"(())()",
"()(())",
"()()()"
]
class solution
public void backtrack(listans, string cur, int open, int close, int max)
if (open < max)
backtrack(ans, cur+"(", open+1, close, max);
if (close < open)
backtrack(ans, cur+")", open, close+1, max);}}
leetcode程式設計題目
題目分析 給出乙個字串,求出最長的沒有重複字元的子串。解題思路 記錄法 首先我們必須知道怎麼判斷乙個子串的字元是否都只出現一次可以開乙個足夠大的布林陣列,然後每個字元是否出現記錄在對應ascll碼值的下標位置,初始化陣列都為0一旦遍歷到某個字元ch,若arr ch 1則表示ch已經在之前出現過,那我...
leetcode程式設計題
1 自除數 是指可以被它包含的每一位數除盡的數。例如,128 是乙個自除數,因為 128 1 0,128 2 0,128 8 0。還有,自除數不允許包含 0 給定上邊界和下邊界數字,輸出乙個列表,列表的元素是邊界 含邊界 內所有的自除數。示例 1 輸入 上邊界left 1,下邊界right 22 輸...
每日程式設計(七) leetcode
題目 刪除排序鍊錶中的重複元素 題目描述 給定乙個排序鍊錶,刪除所有重複的元素,使得每個元素只出現一次。上 definition for singly linked list.type listnode struct func deleteduplicates head listnode listn...