原创 【牛客刷題】HJ68 成績排序

題目鏈接 這題本身就是一個排序題,按照學生成績排序,成績一樣的按照輸入的前後順序排。 如果用Java,那麼利用ArrayList能很輕鬆的完成: import java.util.ArrayList; import java.util.Co

原创 【牛客刷題】HJ15 求int型正整數在內存中存儲時1的個數

題目鏈接 題倒是很簡單,最開始用了這麼一種解法: package main import "fmt" func main() { a := 0 fmt.Scan(&a) str := fmt.Sprintf("%b", a)

原创 【牛客刷題】HJ10 字符個數統計

題目鏈接 簡單的說這題就是字符串去重以後檢查長度。如果用Java的話,可以遍歷字符串,然後利用Set來進行去重,最後統計Set的size就可以了。但是如果是Go語言,則稍微麻煩點。基本思路就是用map,對於map中不存在的元素,添加,然後

原创 【牛客刷題】HJ13 句子逆序

題目鏈接 題目本身不難,但是牛客的輸入樣例很坑,因此只好使用bufio來進行輸入了: package main import ( "bufio" "fmt" "os" "strings" ) func main() { in

原创 【牛客刷題】HJ8 合併表記錄

題目鏈接 這題最開始的想法就是用一個map來解決問題: func main() { num := 0 fmt.Scan(&num) a := 0 b := 0 m := make(map[int]int) for i :=

原创 【牛客刷題】HJ6 質數因子

題目鏈接 這道題本身更多的是考察如何計算一個數的質數因子,更像是一道數學題,用到了循環的方法: package main import ( "fmt" "math" ) func main() { a := 0 fmt.Sca

原创 【牛客刷題】HJ5 進制轉換

題目鏈接 基本上能用最簡單代碼實現的,就不要考慮的太複雜: package main import "fmt" func main() { a := 0 fmt.Scanf("0x%x", &a) fmt.Printf("%d

原创 【牛客刷題】HJ4 字符串分隔

題目鏈接 這個題目本身基本上是對語言熟悉程度的考察,沒有什麼別的邏輯可言: package main import ( "fmt" "strings" ) func main() { var a string fmt.Scan(

原创 【牛客刷題】HJ3 明明的隨機數

題目鏈接 這題有兩個要編碼解決的問題,首先是去重,其次是排序。 最開始想着就用Java的TreeSet解決了,簡單好用,去重排序都一併解決了,編碼只需要考慮input的邏輯就可以,代碼如下: import java.util.Scanne

原创 【牛客刷題】BM50 兩數之和

本題的鏈接:BM50 兩數之和 最初拿到這個題目首先想到的就是兩個指針,然後向後遍歷,於是寫出來的代碼也簡明易懂: package main /** * * @param numbers int整型一維數組 * @param ta

原创 【牛客刷題】數組中出現次數超過一半的數字

本題的鏈接:BM51 數組中出現次數超過一半的數字 題目很好理解,思路也很簡單,只需要遍歷數組,將所有的元素出現的次數用Map記錄下來就可以,最後遍歷Map,找到那個出現次數超過數組長度一半的元素打印就可以: package main

原创 《重學Java設計模式》筆記——建造者模式

1. 建造者模式可以解決什麼問題 我家裏有各種形狀的瓷器,盤子或者碗。雖然形狀不同,但是所用的材料基本上是一樣的,比如土、水、釉、彩這些基本的東西。 但是做不同款式的瓷器,方法是不同的。假如說我現在已經寫好了一段代碼來生成白瓷碗和白瓷盤,正

原创 用SpringBoot實現策略模式

問題的提出 閱讀別人代碼的時候最討厭遇到的就是大段大段的if-else分支語句,一般來說讀到下面的時候就忘了上面在判斷什麼了。很多資料上都會講到使用策略模式來改進這種代碼邏輯。 策略模式的類圖如下: 只需要按照這個圖寫代碼就可以了。 策略

原创 如何求解整數平方根

求解一個整數的平方根最簡單的辦法就是用庫函數。 但是如何不用庫函數就求解呢? 1. 二分法 我們都知道5的平方根是2.236。如果要求對平方根取整,那麼就是2,我們的目的就是在{1,2,3,4,5}這樣一個數組中找到2。 這是一個典型的查找

原创 【SpringCloud學習筆記(二)】用nacos做配置中心

1. 學習目的 nacos除了作爲服務註冊中心之外,還能用作配置中心,可以說滿足了日常的大部分需要。本次就是要學會如何使用nacos作爲配置中心。 2. 操作 要使用nacos作爲配置中心,需要首先引入nacos的相關依賴,下面是參考: i