7. 整數反轉
給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。
示例 1:
輸入: 123
輸出: 321
示例 2:
輸入: -123
輸出: -321
示例 3:
輸入: 120
輸出: 21
注意:假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 [−231, 231 − 1]。請根據這個假設,如果反轉後整數溢位那麼就返回 0。
我的解答
public static int reverse(int x) else
//轉換回整形
//判斷反轉後是否超出範圍
double test = double.parsedouble(newstr);
if(test>integer.max_value||test0;i--)
//判斷最高位是否為0
while(newstr.charat(0)==0)
return newstr;
}
更優解答
public int reverse(int x)
return rev;
}
196. 刪除重複的電子郵箱
編寫乙個 sql 查詢,來刪除 person 表中所有重複的電子郵箱,重複的郵箱裡只保留 id 最小 的那個。
編寫乙個 sql 查詢,來刪除 person 表中所有重複的電子郵箱,重複的郵箱裡只保留 id 最小 的那個。
| id | email
| 1 | [email protected]
| 2 | [email protected]
| 3 | [email protected]
id 是這個表的主鍵。
例如,在執行你的查詢語句之後,上面的 person 表應返回以下幾行:
| id | email
| 1 | [email protected]
| 2 | [email protected]
我的解答
delete p2 from person p1, person p2 where p1.email=p2.email and p1.id349. 兩個陣列的交集
給定兩個陣列,編寫乙個函式來計算它們的交集。
示例 1:
輸入: nums1 = [1,2,2,1], nums2 = [2,2]
輸出: [2]
示例 2:
輸入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]
輸出: [9,4]
說明:輸出結果中的每個元素一定是唯一的。
我們可以不考慮輸出結果的順序。
我的解答
class solution
}}
//根據需求決定去重
list = removerepeat(list);
int result = new int[list.size()];
for (int k = 0; k < list.size(); k++)
return result; }
//去重
public static listremoverepeat(listlist)
}return listnew;
}}
更優解答
class solution
for (int num : nums2)
}int ret = new int[set2.size()];
int i = 0;
for (int num : set2)
return ret;
}}
14. 最長公共字首
編寫乙個函式來查詢字串陣列中的最長公共字首。
如果不存在公共字首,返回空字串 「」。
示例 1:
輸入: [「flower」,「flow」,「flight」]
輸出: 「fl」
示例 2:
輸入: [「dog」,「racecar」,「car」]
輸出: 「」
解釋: 輸入不存在公共字首。
說明:所有輸入只包含小寫字母 a-z 。
我的解答
public static string longestcommonprefix(string strs)
result = result.substring(0, j);
} return result;
}
更優解答
class solution
}return i + 1;
}
更優解答 (速度更快)
class solution
//1、標記重複資料
final int mark = nums[0];
int index = 1 , _index =1,num =0;
while(index20. 有效的括號
給定乙個只包括 『(』,』)』,』』,』[』,』]』 的字串,判斷字串是否有效。
有效字串需滿足:
左括號必須用相同型別的右括號閉合。
左括號必須以正確的順序閉合。
注意空字串可被認為是有效字串。
示例 1:
輸入: 「()」
輸出: true
示例 2:
輸入: 「(){}」
輸出: true
示例 3:
輸入: 「(]」
輸出: false
示例 4:
輸入: 「([)]」
輸出: false
示例 5:
輸入: 「」
輸出: true
我的**
public static boolean isvalid2(string s)
else
}
更優解答
class solution ');
else if (stack.isempty() || stack.pop() != c)
return false;
}return stack.isempty();
} }
495. 提莫攻擊
在《英雄聯盟》的世界中,有乙個叫 「提莫」 的英雄,他的攻擊可以讓敵方英雄艾希(編者注:寒冰射手)進入中毒狀態。現在,給出提莫對艾希的攻擊時間序列和提莫攻擊的中毒持續時間,你需要輸出艾希的中毒狀態總時長。
你可以認為提莫在給定的時間點進行攻擊,並立即使艾希處於中毒狀態。
示例1:
輸入: [1,4], 2
輸出: 4
原因: 在第 1 秒開始時,提莫開始對艾希進行攻擊並使其立即中毒。中毒狀態會維持 2 秒鐘,直到第 2 秒鐘結束。
在第 4 秒開始時,提莫再次攻擊艾希,使得艾希獲得另外 2 秒的中毒時間。
所以最終輸出 4 秒。
示例2:
輸入: [1,2], 2
輸出: 3
原因: 在第 1 秒開始時,提莫開始對艾希進行攻擊並使其立即中毒。中毒狀態會維持 2 秒鐘,直到第 2 秒鐘結束。
但是在第 2 秒開始時,提莫再次攻擊了已經處於中毒狀態的艾希。
由於中毒狀態不可疊加,提莫在第 2 秒開始時的這次攻擊會在第 3 秒鐘結束。
所以最終輸出 3。
我的解答
class solution else
}//提莫最後一次攻擊後的中毒時間
poisoning += duration;
return poisoning;
}}
更優解答
class solution
int res = 0;
int starttime = timeseries[0];
for (int i = 1; i < timeseries.length; ++i)
}res += timeseries[timeseries.length - 1] + duration - starttime;
return res;
}}
LeetCode 120(動態規劃)
給定乙個三角形,找出自頂向下的最小路徑和。每一步只能移動到下一行中相鄰的結點上。例如,給定三角形 2 3,4 6,5,7 4,1,8,3 自頂向下的最小路徑和為11 即,2 3 5 1 11 說明 如果你可以只使用 o n 的額外空間 n 為三角形的總行數 來解決這個問題,那麼你的演算法會很加分。本...
leetcode每日一題120
題目 給定乙個三角形,找出自頂向下的最小路徑和。每一步只能移動到下一行中相鄰的結點上。相鄰的結點在這裡指的是 下標 與 上一層結點下標 相同或者等於 上一層結點下標 1 的兩個結點。示例 2 3,4 6,5,7 4,1,8,3 最小路徑和 2 3 5 1 11 思路分析 以示例為例子,假設是a,下標...
Servlet生命週期小結
servlet的生命週期從servlet類載入,到建立servlet類例項,servlet的初始化 真正成為乙個servlet 有請求到來,呼叫service方法 主要工作 直到servlet被destroy 1.servlet類載入 1.1 啟動web容器後,容器去尋找應用的部署描述檔案 web....