力扣刷題記錄(1)

2021-10-22 16:41:12 字數 2410 閱讀 8887

class

solution

//行的個數

int rows= matrix.length;

//列的個數

int cols=matrix[0]

.length;

int i=0;

int j=cols-1;

while

(i=0)

else

if(matrix[i]

[j]else

}return

false;}

}

class

solution

int[

] nums =

newint

[count]

; node = head;

for(

int i = count -

1; i >=0;

--i)

return nums;

}}

class

cqueue

public

void

(int value)

public

intdeletehead()

while

(!s1.

empty()

)int num=s2.

peek()

; s2.

pop();

while

(!s2.

empty()

)return num;

}}

class

solution

if(cur==head)

else

return head;

}}

class

solution

while

(left < right && nums[right]%2

==0)if

(left < right)

}return nums;

}}

class

solution

while

(frontnode !=null)

return behindnode;

}}

//第一種方法

class

solution

return pre;}}

//第二種方法

//用於反轉整個鍊錶

public

void

reverse()

reverse

(head.next);}

//反轉指定的結點,並把反轉後的結點返回

public node reverse

(node curr)

//遞迴反轉當前結點,反轉值就是鍊錶反轉後,當前結點的上乙個結點

node pre =

reverse

(curr.next)

;//讓返回的結點的下乙個結點變為當前結點;

pre.next=curr;

//當前結點的下乙個結點變為null

curr.next=null;

return curr;

}

class

solution

else

}//若其中乙個不為空

if(l1!=null)

if(l2!=null)

return newnode.next;

}}

class

solution

int col=matrix[0]

.length;

int[

] nums=

newint

[row*col]

;int index=0;

int left=

0,top=

0,right=col-

1,bottom=row-1;

while

(true)if

(++top>bottom)

//從上往下走

for(

int i=top;i<=bottom;i++)if

(--right//從右往左走

for(

int i=right;i>=left;i--)if

(--bottom//從下往上走

for(

int i=bottom;i>=top;i--)if

(++left>right)

}return nums;

}}

力扣刷題記錄05

題目分類 二分查詢 時間 2020 09 09 題目一 兩數之和 兩數之和 ii 輸入有序陣列 給定乙個已按照公升序排列 的有序陣列,找到兩個數使得它們相加之和等於目標數。函式應該返回這兩個下標值 index1 和 index2,其中 index1 必須小於 index2。說明 返回的下標值 ind...

力扣刷題記錄2

第一題是每日一題的簡單題。需要記的並不多,一是用迭代器對vector的一些基本操作。可以參考這裡 for vector iterator iter num.begin iter num.end iter 另外是快排的思想。這種思想實用性很廣,即使不需要排序,在找出最大的k個數,對陣列進行分割 以中間...

力扣刷題記錄10

三角形的最大周長 看到這個題目,我想到了排序後從最大的中挑選,但遇到了點困難,一方面是無法記錄哪個是最大的點,這樣每次都要判斷。另一方面是根據題目要求,每個數只能用一次,要記錄下當前哪些是已經被使用了的。看到題解之後感覺自己是個智障。class solution return0 下次貪心時候也要動動...