原创 UOJ 猴子喫香蕉問題

Problem description:   Solution def maxBananas(self,arr:List[str],K): monkeys = [] bananas = []

原创 UOJ 買賣最大化利潤

Problem description:   Solution: def maxProfit(self, prices: List[int]) -> int: #return sum(y-x for y,x in zi

原创 如何得到最優解(燈泡問題例)

class Solution: def bulbSwitch(self, n: int) -> int: return int(n**(0.5)) 首先貼上代碼,給上對應leetcode鏈接:https://le

原创 leetcode Q123 Best Time to Buy and Sell Stock

首先貼一個discuss區寫的不錯的解釋(引用一下) https://leetcode.com/problems/best-time-to-buy-and-sell-stock-iii/discuss/111150/How-to-achi

原创 貪婪算法(合理分配,最大積)

Assignment 3 Q1: 代碼: 把猴子和香蕉按照從左到右的順序編號,當每個猴子拿到對應順序的香蕉的時候所有猴子拿完香蕉花費的時間最少。比如說左起第一個猴子應該拿左起的第一根香蕉,以此類推。 def assignBananas

原创 尋找最長子序列 DP和稀疏DP

leetcode Q1143 基本DP的算法思路如下,其複雜度爲O(mn) import collections class Solution: def longestCommonSubsequence(self, text1:

原创 一些摩爾投票法的思考和理解

leetcode169 和229可以參考一下 貼一下自己的leetcode229的代碼 class Solution: def majorityElement(self, nums: List[int]) -> List[int

原创 雙向BFS中複雜度的理解

剛見到雙向BFS的時候一直關於複雜度有一些點不是很理解,比如說一個三叉樹,假設之間的路徑爲4,那麼如果單項BFS的話,算法的複雜度應該是(1+3+3^2+3^3+3^4) = (3^5-1)/2  數量級就是O(n^(m+1)),n指的就

原创 JIT

JIT——just-in-time,即時編譯器,JIT把程序全部或者部分翻譯成本地機器碼,這本是Java虛擬機的工作。當我們爲某個類創建第一個對象時,需要將該類的.class文件裝入內存,此時JIT並不直接編譯所有代碼,而是採用 lazy

原创 CLion和C++類內靜態成員定義問題

有一段時間沒有用C++了,今天寫了一個簡單的單例模式,然後CLion一直報錯,鏈接錯誤,用VS跑結果一樣,也不行 VS錯誤信息: CLion: 問題在於 Singleton.h class Singleton { private:

原创 垃圾回收思路-閱讀java編程思想

引用計數:引用計數是一種簡單但是相對而言速度不高的垃圾回收的思路,簡單來說就是垃圾回收器會在對象的引用計數變爲0的時候進行回收,但是這種回收機制可能導致存在“應該回收的對象得不到回收”——也就是當對象之間存在循環引用的時候,可能會出現“對

原创 學習main函數的時候遇到的一些問題

最近用ubuntu的時候研究了一下main函數如果不做爲入口函數會遇到什麼情況,代碼大概是像這樣 int func1(void) {     printf("Foo for the win!\n");    return 1; in

原创 UOJ 猴子吃香蕉問題

Problem description:   Solution def maxBananas(self,arr:List[str],K): monkeys = [] bananas = []