群裡發面試題來看,無意之後看到。自己思考了一下覺得位運算就可以搞定。
題意大概就是讓你可以有乙個方法對三個數進行encode之後儲存進乙個數。然後有乙個decode方法能將這三個數從這乙個數中還原回來。
go實現:
package mainimport
"fmt
"func encodeintohex(m map[string]int) (int)
func decodeintoint(i int) (int, int, int)
func main()
data :=encodeintohex(fruit)
fmt.println(data)
o, b, a :=decodeintoint(data)
fmt.println(o, b, a)
}
總的來說,思路還是位運算。我們假設這個數是0-255的乙個數。我們就可以使用每8bit來標示乙個數。我們用乙個32bit int型來儲存最後的數。
這裡假設我們有三個數,encode的時候將數按順序,每個數與0xff與,然後在另外乙個8bit位置上與另外乙個數字或,即可得到結果。
在decode的時候可以再按照每一位解析回來即可。
如何將乙個String和多個String值進行比較
開發中我們經常需要將乙個string和多個string值進行比較。直覺反應是使用 符號連線多個 完成,比如 fruitcolor yellow 這樣能夠很好的完成需求,但總覺得有點笨,並且對擴充套件不友好,當我們的水果種類變多時 fruitcolor yellow 上面的 看起來就不那麼好看了,讓我...
如何將屬性檔案中的值儲存到類中
1 編寫屬性檔案,以鍵值對形式儲存,並放置在類路徑 src 下 jdbc.jdbcurl jdbc mysql localhost 3306 bookstore?rewritebatchedstatements true jdbc.user bookmanager jdbc.password man...
乙個函式中返回多個值
如把多個需要返回的值作相應的處理後變成乙個可以用return 語句返回的資料,再在主調函式中拆開返回的資料使之變成幾個值。那麼當我們希望從乙個函式中返回多個值時,用什麼方法去實現比較合理呢?2方法1 利用全域性變數 分析 全域性變數作為c 語言的乙個知識點,雖然我們都了解它的特點,但在實際教學過程中...