- Aug 13 Sat 2022 01:25
-
【LeetCode】between two sets
- Aug 07 Sun 2022 08:12
-
【LeetCode】Parking Dilemma
- Aug 07 Sun 2022 05:32
-
【LeetCode】bagOfTokensScore
tokens = [100,200,300,400], power = 200 Output: 2
這題是指能量200,能量夠的話就花令牌能量並得分(score++),否則取令牌能量並扣分,且不重複使用令牌
這題是指能量200,能量夠的話就花令牌能量並得分(score++),否則取令牌能量並扣分,且不重複使用令牌
- Aug 07 Sun 2022 02:38
-
【LeetCode】The Coin Change Problem
- Apr 29 Fri 2022 11:43
-
【LeetCode】筆記-lru-cache
LinkedHashMap 概念非常不易 要另找時間再挑戰一次
- Apr 28 Thu 2022 11:54
-
【LeetCode】筆記-WordBreakII
- Apr 27 Wed 2022 11:56
-
【LeetCode】筆記-Word Break
- Apr 26 Tue 2022 14:04
-
【LeetCode】筆記-Clone Graph
- Apr 25 Mon 2022 03:49
-
【LeetCode】Longest Consecutive Sequence
原本想先排序再Point index,但建議解真的很好,先將原index值+1 再去陣列循環是否包含此值,
以 [100,4,200,1,3,2] 來說 3+1=4,陣列確實含4且連續
以 [100,4,200,1,3,2] 來說 3+1=4,陣列確實含4且連續
- Mar 11 Fri 2022 12:34
-
【LeetCode】Insert Interval
class Solution {
public int[][] insert(int[][] intervals, int[] newInterval) {
List<int[]> ans = new ArrayList<>();
int[] toAdd = newInterval;
/* [[1,3],[6,9]]->[2,5] */
for (int i = 0; i < intervals.length; i ++) {
/*1. No overlap and toAdd appears before current interval, add toAdd to result.*/
if (intervals[i][0] > toAdd[1]) {//1>5,6>5,1>3,6>3
ans.add(toAdd);//[2,5],[1,3]
toAdd = intervals[i];//[1,3],[6,9]
}
/*2. Has overlap, update the toAdd to the merged interval.*/
else if (intervals[i][1] >= toAdd[0])
toAdd = new int[] {Math.min(intervals[i][0], toAdd[0]), Math.max(intervals[i][1], toAdd[1]) };
/*3. No overlap and toAdd appears after current interval, add current interval to result.*/
else ans.add(intervals[i]);
}
ans.add(toAdd);
return ans.toArray(new int[ans.size()][2]);
}
}
public int[][] insert(int[][] intervals, int[] newInterval) {
List<int[]> ans = new ArrayList<>();
int[] toAdd = newInterval;
/* [[1,3],[6,9]]->[2,5] */
for (int i = 0; i < intervals.length; i ++) {
/*1. No overlap and toAdd appears before current interval, add toAdd to result.*/
if (intervals[i][0] > toAdd[1]) {//1>5,6>5,1>3,6>3
ans.add(toAdd);//[2,5],[1,3]
toAdd = intervals[i];//[1,3],[6,9]
}
/*2. Has overlap, update the toAdd to the merged interval.*/
else if (intervals[i][1] >= toAdd[0])
toAdd = new int[] {Math.min(intervals[i][0], toAdd[0]), Math.max(intervals[i][1], toAdd[1]) };
/*3. No overlap and toAdd appears after current interval, add current interval to result.*/
else ans.add(intervals[i]);
}
ans.add(toAdd);
return ans.toArray(new int[ans.size()][2]);
}
}
- Jan 31 Mon 2022 09:59
-
【LeetCode】Spiral Matrix
第一次想這題時方向不太對
class Solution {
public List<Integer> spiralOrder(int[][] matrix) {
//index[m] 走0~n.length-1格
//index[m+1] 走 最後(n-1)
//index[m+2] 走 n-1~ 0
//回到index[m+1]走 0~n-2
int m=matrix.length;
int n=matrix[0].length;
int i=0;
int r_index=0;
List<Integer> result= new ArrayList<Integer>();
while(i<m){//>字型走法
if(i==0){//第一列
int j=0;
while(j<n){
result.add(matrix[i][j++]);
}
}else if(i==m-1){//最後一列
int j=n-1;
while(j>=0){
result.add(matrix[i][j--]);
}
}else{//中間先走每一個matrix[i]最後一個index
result.add(matrix[i][n-1]);
}
i++;
r_index++;
}
//走中間每一個matrix[i]第一個index
i=0;
while(i<m&&m>2){
if(i!=0&&i!=m-1){
result.add(matrix[i][0]);
}
i++;
}
//....裡面的就要在循環一次>
return result;
}
}
class Solution {
public List<Integer> spiralOrder(int[][] matrix) {
//index[m] 走0~n.length-1格
//index[m+1] 走 最後(n-1)
//index[m+2] 走 n-1~ 0
//回到index[m+1]走 0~n-2
int m=matrix.length;
int n=matrix[0].length;
int i=0;
int r_index=0;
List<Integer> result= new ArrayList<Integer>();
while(i<m){//>字型走法
if(i==0){//第一列
int j=0;
while(j<n){
result.add(matrix[i][j++]);
}
}else if(i==m-1){//最後一列
int j=n-1;
while(j>=0){
result.add(matrix[i][j--]);
}
}else{//中間先走每一個matrix[i]最後一個index
result.add(matrix[i][n-1]);
}
i++;
r_index++;
}
//走中間每一個matrix[i]第一個index
i=0;
while(i<m&&m>2){
if(i!=0&&i!=m-1){
result.add(matrix[i][0]);
}
i++;
}
//....裡面的就要在循環一次>
return result;
}
}
- Jan 31 Mon 2022 09:09
-
【LeetCode】Pow(x, n)
第一個想法,暴力破解
class Solution {
public double myPow(double x, int n) {
int i=1;
int round= Math.abs(n);//絕對值
double result=0;
result=x;
while(i<round){
result=x*result;
i++;
}
if(n>0){
return result;
}else{
return 1/result;
}
}
}
class Solution {
public double myPow(double x, int n) {
int i=1;
int round= Math.abs(n);//絕對值
double result=0;
result=x;
while(i<round){
result=x*result;
i++;
}
if(n>0){
return result;
}else{
return 1/result;
}
}
}

