原创 poj 2339 Rock, Scissors, Paper 模擬

題目鏈接:poj.org/problem?id=2339 題目大意:     石頭剪刀布,如果石頭周圍有剪刀,就將剪刀改爲石頭,同理,石頭改爲布,布改爲剪刀。在這樣n輪之後,問現在的狀態是什麼樣。 題目分析:     模擬該過程,進行

原创 Go reflect 反射實例解析

Go reflect 反射實例解析Go reflect 反射實例解析0 FBI WARNING1 現象分析1.1 不會1.2 笨重2 由高斯求和說起3 實例3.1 http轉rpc模板3.1.1 閉包3.1.1.1 實例的方法3.

原创 poj 3667 Hotel 線段樹

題目鏈接:poj.org/problem?id=3667 題目大意:         有N間房,排成一排,每次入住連續編號爲[r, r + D - 1]的房間,要求r最小;每次退房時會退掉連續編號爲[X, X + D - 1]的房間。輸

原创 poj 2777 Count Color 線段樹

題目鏈接:poj.org/problem?id=2777 題目大意:有一段長爲L(1 <= L <= 100000)的木板,T(1 <= T <= 30)種顏料,O(1 <= O <= 100000)個操作: C A B C ——將區間[

原创 找出出現次數前十的單詞

有106個英文單詞,由小寫字母組成,長度不超過20,要求找出其中出現次數前十的單詞。 PS:如果第10名和第11名出現次數相同,任意一個皆可。 思路分析: 字典樹 我們可以先用字典樹記錄下所有出現過的單詞,然後對所有單詞出現的次數進行

原创 poj 1451 T9 字典樹

題目鏈接:poj.org/problem?id=1451 題目背景:爲了方便手機用戶發短信,希望在用戶按鍵時,根據每個詞出現的頻數,給出每個階段最有可能要打的詞。 PS:相同的前綴頻數要相加計算。 題目大意:有不同的幾組測試樣例,每個測試

原创 Go語言反射

Go語言反射背景基礎可讀與可寫取址類型類型、值操作basic typesslicearraymapchanfuncstructptr (interface類似)練習鏈表csv轉json常見模式例1:`DeepEqual`例2:簡易my

原创 散列化思維

關於結構化思維,網上資料早已多如牛毛,不勝枚舉。大家對結構化思維也都有一個或大概,或清晰的認知:結構化思維能讓人在工作生活中更有條理,說話、做事等,獲益良多。而今天我要說的這個“散列化思維”,可能受衆就要少的多了,那什麼是散列化思維呢?

原创 Gotchas

Assumptions 以下go-src代表go語言源碼文件夾 以下代碼均在test.go中測試 一切測試從簡, 保證代碼量儘可能小, 儘可能容易理解 不推薦用的或奇技淫巧只給例子 Builtin Identifiers See

原创 併發編程模型

原鏈:http://ifeve.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B%E6%A8%A1%E5%9E%8B/ 原文鏈接 作者: Jakob Jenkov 譯者: 林威建 [weakielin@

原创 從技術到邏輯,技術邏輯分離實踐

4月中旬,到上海聽了一場大型分享會,GopherChina,從中收益頗多。 Golang經常被噴的一個緣由是沒有泛型,比如Java中有類似ArrayList<T>這樣的泛型,編程時可以有任何類型的ArrayList,減少代碼重複度,使用

原创 我們欺騙了活動主辦方

    今天(2018.5.5)下午,我又去參加了清華大學天行教育研究中心的青年沙龍活動。    下午大家分組坐在一起探討分享時,HR妹子忍不住問了個問題:“我覺得來這裏的,都是對職業生涯有些困惑的,可我看你們都沒有這方面的困惑,你們爲什

原创 1與2之間的最短距離

一個m*n的方格紙上,有0、1、2三種數字,可以想像0是面牆,不能通過,1是通道上的一個點,2是儲物點,求這個方格紙上每個1的點與離它最近的2之間的距離。(有上下左右四個方向可走。) 比如,一個5*5的格子上有: 0 1 1 0 2 1

原创 真槍實彈談寫代碼

        程序員最頭疼的是啥?Bug。那如何寫代碼才能降低Bug率呢,前輩們已經總結出了各種方法,比較出名的有:設計模式六大原則、Rob Pike六項原則、Unix哲學17條原則、KISS、DRY、Python之禪、寬進嚴出等等等等

原创 玩switch遊戲——馬里奧·奧賽德——的發現

    晚上一時興起,打開久已蒙塵的switch遊戲機,玩了會兒馬里奧·奧賽德,真正的良心製作:裏面有一個智力關卡:要求最終擺成下面樣子:上圖中,戴帽子的石頭是由玩家控制的,可以向上下左右滾動,但不能超過邊線,也即只有八個方塊可供閃轉騰挪