0%

今天是我第一次參加Leetcode 雙週賽,所以想記錄一下今天的競賽題目。希望能透過博客來記錄自己的競賽狀況。

本週AC題數為:4/4

題目

2413. Smallest Even Multiple(EASY) - AC

Given a positive integer n, return the smallest positive integer that is a multiple of both 2 and n.

最近這2個月都沒有更新發文章,主要是因為這2個月都在專注重構畢業專題的項目,也是只OTT電影平台。
今天這篇文章主要是跟大家分享這2個月所開發的進度和目前開發到的階段,以此作為這個項目的開發日記。

Introduction

什麼是TrieTree?

Trie稱為前綴樹或字典樹,是有序樹的一種,Node的key通常為String類型。Trie Tree與Binary-Searching Tree不同的點是,Trie Tree的Key並不會直接保存在Node中,而是它在Tree中的位置所決定的。一個Node中的所有的childrens都有相同的Prefix(前綴)。假設有個Node的key 為T,它的children將會是Time, Tim, Test等,因為他們都會相同的Prefix(前綴)T

Introduction

什麼是Palindromic String 迴文字串

所謂的Palindromic String(迴文字串) 就是以一個字元為中間,而它的左邊以及右邊的組成字元相同。
例子:
abcdcbad為中心的左跟右的字元一樣。
cdc左跟右都為c
bcdcb 左跟右都為b
abcdcba 左跟右都為a

Introduction

什麼是最長公共子序列?

給定2個字串string Astring B,2個字串中所共同擁有的最長的子字串。
例如:

1
2
3
4
5
6
7
String A : leetcode
String B : ecbod
他們的最長公共子序列便是`ecod`

解釋:
String A 包含了 __e_cod_ => ecod
String B 包含了 ec_od => ecod

要怎麼找到最長公共子序列LCM呢?

我們需要定義一個數組用於保存當前情況下的最優解,也就是使用DP的方式。我們需要以每個字符最為考量,並一一匹配,最後得出整體最優解。 LCM

因為元宇宙(Metaverse)這個概念火熱,所有我就趁著這個機會了解一下在元宇宙領域中本人覺得比較有趣的東西。也就是這篇文章所要分享給各位的MetaHuman(虛擬數字人/虛擬數位人)

什麼是Abstract Factory(抽象工廠)呢?

定義: 又稱為Kit模式。提供一個創建系列相關或者互相依賴的Interface,而無需指定其具體的class

簡單例子

注: 以下程式單純用於解釋,並不能實際執行

基於Gin實作Rate Limiter

假設我們有2個APIs,而每個API都需要消耗1個Tokens

urimethoddesc
/api/posts/{id}GETreturn a simple demo message
/pingGETreturn pong

我們先設置一下rate limiter桶子的容量只能放下一個tokens,而tokens則會每秒生產5個。存取API時,若沒有Token可以用,就需要等待token下一次生產並放到桶子裡,才能繼續進行下去。

Token Bucket(令牌桶算法)

什麼是Token Bucket 呢?

簡單來說就是運用Token Bucket的系統會以一個設定的速率往桶子(Bucket)裡面丟令牌(Token)。如果請求(Request)需要被處理時,就必需得Bucket裡的Token。當桶子裡面的沒有Token可以分配/獲取時,也就是說Bucket現在是空的(Token已經被其他令牌拿完了),系統則會拒絕這個請求的服務。