| |

做題筆記:Roman to Integer (Java)

題目描述:

將羅馬數字轉換為整數,具體規則略。

Example 1:

Input: s = "III"
Output: 3
Explanation: III = 3.

Example 2:

Input: s = "LVIII"
Output: 58
Explanation: L = 50, V= 5, III = 3.

Example 3:

Input: s = "MCMXCIV"
Output: 1994
Explanation: M = 1000, CM = 900, XC = 90 and IV = 4.

自己的 Switch 暴力解法:

兜了好幾個圈……

class Solution {
    public int romanToInt(String s) {
        int num = 0;
        StringBuilder re = new StringBuilder();
        re.append(s).reverse();
        String[] split = re.toString().split("(?<=\\G..)");
        for (String i:split){
            switch(i){
                case "VI":
                    num = num + 4;
                    break;
                case "XI":
                    num = num + 9;
                    break;
                case "LX":
                    num = num + 40; 
                    break;
                case "CX":
                    num = num + 90; 
                    break;
                case "DC":
                    num = num + 400;
                    break;
                case "MC":
                    num = num + 900; 
                    break;
                default:
                    String[] sub = i.split("");
                    for (String j:sub){
                        switch(j){
                            case "I":
                                num = num + 1;
                                break;
                            case "V":
                                num = num + 5;
                                break;
                            case "X":
                                num = num + 10; 
                                break;
                            case "L":
                                num = num + 50; 
                                break;
                            case "C":
                                num = num + 100;
                                break;
                            case "D":
                                num = num + 500; 
                                break;
                            case "M":
                                num = num + 1000;     
                                break;
                        }
                    }
                }
        }
        return num;    
    }
}

意外發生了,本地 IDE 能跑出正確答案,但是在 Leetcode 上跑不出來,我竟然為這種問題浪費了不少時間,最終也沒解決……

正確精練的 Switch 解法:

class Solution {
	 public int romanToInt(String s) {
	    int nums[] = new int[s.length()];
	    for(int i = 0; i < s.length(); i++){
	        switch (s.charAt(i)) {
	            case 'M':
	                nums[i] = 1000;
	                break;
	            case 'D':
	                nums[i] = 500;
	                break;
	            case 'C':
	                nums[i] = 100;
	                break;
	            case 'L':
	                nums[i] = 50;
	                break;
	            case 'X' :
	                nums[i] = 10;
	                break;
	            case 'V':
	                nums[i] = 5;
	                break;
	            case 'I':
	                nums[i] = 1;
	                break;
	        }
	    } 
	    
	    int sum = 0;
	    for(int i=0; i<nums.length-1; i++){
	        if(nums[i] < nums[i+1])
	            sum -= nums[i];
	        else
	            sum += nums[i];
	    }
         
	    return sum + nums[nums.length-1];
	}
}

6 ms

運用 Hashmap:

class solution {
    public int romanToInt(String s) {
        Map map = new HashMap<>();
        map.put('I',1);
        map.put('V',5);
        map.put('X',10);
        map.put('L',50);
        map.put('C',100);
        map.put('D',500);
        map.put('M',1000);
        
        int result = map.get(s.charAt(s.length()-1));
        for(int i=s.length()-2; i>=0; i--){
            if(map.get(s.charAt(i)) < map.get(s.charAt(i+1))){
                result -= map.get(s.charAt(i));
            }
            else{
                result += map.get(s.charAt(i));
            }
        }
        return result;
    }
}

Similar Posts

  • |

    同質化的最後壁壘

    「準備夜刷這套任務,重慶為什麼……沒有共享單車!」 畢竟曾經總部在重慶的悟空單車是全國第一家倒閉的共享單車公司。 「這次聚餐去吃海底撈吧」 嗯?似乎是什麼網紅店,經常聽別人提起,可我以前從來沒吃過。以服務為賣點的店做得很周到是真,不過可能真的不太適合我的口味。加上略貴的價格,那次之後,再遇到海底撈的局我總會再三考慮。 說起來我為什麼之前沒吃過?搞了半天原來重慶壓根沒有海底撈火鍋這家網紅店。 這是發生在我身邊的兩件事情。 我曾以為重慶是身陷加拉帕戈斯中央的孤島。 但後來我發現自己是在混淆概念,「加拉帕戈斯現象」是指產品不適應其他市場,一如日本現在的遊戲界。重慶以火鍋著稱,但自己沒啥火鍋品牌走出去,只是不會做生意吧?網紅品牌進不來,難道是排外? 畢竟每個地區都有自己的文化特色。共享單車的例子,是重慶獨特地形所造就,壓根沒有自行車道,通常市民出行也不會選擇自行車這一方式。而火鍋就更好說了,海底撈對不上無辣不歡的重慶人的口味,在火鍋店遍地開花的重慶也沒有價格上的優勢,僅此而已。 上述問題真正的實質,是重慶在同質化時代的最後一道壁壘。 同質化時代,真的很悲哀。每次出行能帶給我的驚喜越來越少,也正如室友講的一樣,他說去了這麼多城市其實跟太原也差不多。我甚至好多時候會覺得失去了旅行的動力,反正都一樣,有什麼好觀光的呢。 出遊只剩下打卡,再也深度體會不了什麼。當年在前往伊爾庫茨克的火車上,一位愛好旅遊的天津地理老師對我說,有些地方趁早去,以後可能就變味了。 首先開頭的兩個例子,絕對是我的主觀想法。就口味問題來講,吃麻醬的人可能也會覺得我們吃香油很奇怪,這種生活習慣是底線,受同質化的影響最小。所以我特地問了同學,有沒有哪些獨有的現象(不是特產這種層次的東西,說起來特產也哪都能買到,無非就是糾結一下正不正宗的問題,正宗的還不一定合你口味),類似共享單車和海底撈的例子,在你們城市的體現。但他沒有回答到很核心的例子,其實心頭倒是暗暗一喜,重慶估計真的有她獨特的地方吧。 曾幾何時,重慶突然變成了網紅城市。 什麼輕軌穿樓啦,什麼上了十層樓還是馬路啦,什麼長江索道啦……刷爆網路。其實來來去去無非就是這幾樣,但這幾樣,真的有特色。 再回顧稍舊以前的事情,上一篇文章提到的山城棒棒軍,「棒棒」也是一個特色職業,劇中還有一個在各大城市中行動的慣偷在重慶被逮捕的橋段來證明它的特色性。雖說該職業如今已經所剩無幾。 平原城市自然不可能出現上述的景觀或事物,不過平原更適合建城,主流城市都是平原城市,一座非主流的山城自然變成 SSR 了,誰不想長長見識。 山城是少見,由環境衍生出來的吃辣等習慣也是處於少數位置,我們不穿校服不講普通話,連金拱門這樣的全球快餐店(似乎鄉村基這個本土品牌才是最對重慶人胃口的,我的記憶這樣告訴我)都會配上獨一無二的辣椒包,這樣的非主流因素融合在一起,似乎處處不同的網紅城市誕生了。 自我意識在膨脹,「與眾不同」是浮躁的現代人想為自己貼上的標籤。這個問題攤開了講,那就更大了。我自然想發一條「與眾不同」的朋友圈給列表那些「土包子」們,展現自己閲歷豐富,不願意當「土包子」的人便評論道,我也曾去過這兒,旁邊有啥啥,很 nice! 俗語便有「讀萬卷書不如行萬里路。」一說,姑且不拿書作為對比對象,但出行本是以增長閲歷為目的的過程,前文已經提到。我並不反對將看到的東西分享出來的形式,如同給圍在壁爐的孩子們講故事的老水手一樣,分享自己的經歷的行為古來有之。 也有人失望而歸,畢竟「廬山煙雨浙江潮,未到千般恨不消」也是古來有之。 慶幸的是,重慶尚且有等同於「廬山煙雨浙江潮」的事物所在,能夠充當同質化時代的最後一道壁壘。可是有些地方呢?那些出行規劃時我給隊友提起,隊友卻冷冷回一句「有什麼意思?」的地方。你們的「意思」究竟指的什麼呢。 家中安裝一台空調即可,不必再特意去修建可以使屋內冬暖夏涼的精美建築,其實不得不講這是科技的進步。文化亦總是在進步的,它可以是嶄新的文化,是貼滿二次元紙片人的秋葉原,那何嘗不是極其成功的文化特色呢? 如此迷戀商業化,就商業化出自己地區的「意思」。科技的進步是帶來便利,從來不是為了抹殺特色,提前進入「共產主義」可不太好。 願這是一個建牆的時代,而不是推牆的時代。 當然,此牆非彼牆。

  • |

    做題筆記:Remove Duplicates from Sorted Array (Java)

    今後 Easy 題若沒碰到非常精彩的就不每題都更了。 題目描述: 給定一個按非遞減順序排序的整數數組 nums,就地刪除重複項,使每個單獨的元素只出現一次。元素的相對順序應保持不變。 由於在某些語言中無法更改數組的長度,因此您必須將結果放在數組 nums 的前半部分。更正式地說,如果刪除重複項後有 k 個元素,則 nums 的前 k 個元素應持有最終結果。除了前 k 個元素之外,留下什麼都不重要。 將最終結果放入 nums 的前 k 個插槽後返回 k值。 Example 1: Example 2: Stack 解法: 自己還是只能想出來蠢方法,應該刷題量還遠遠不夠吧: 7 ms 利用順序的取巧方法: 1 ms

  • |

    世遺:隱匿的政治角力場

    在剛剛落幕的第44屆世界遺產大會上,重慶五里坡自然保護區以擴大「湖北神農架」(Hubei Shennongjia, 1509)邊界的形式列入了《世界遺產名錄》,成為重慶第三個世界遺產地。最近我為此事撰寫了一些資料,方才對世遺這攤深水有了一些更詳細的認識。 以前對世遺的印象,無非就是一些享有盛名的景點,當然也有其文化價值所在,所以要弄一個世界遺產目錄來保護他們,也就市級、國家級文物保護單位的升級版吧。然而一旦牽扯國際,其中的政治角力要複雜太多。 世遺本身的關注度是有的,絕不是不起眼的公約。今年中國的新增世界遺產是「泉州:宋元中國的世界海洋商貿中心」(Quanzhou: Emporium of the World in Song-Yuan China, 1561),很多媒體都在大肆宣傳並慶賀,我幾乎到處都能看見。其實每年情況都是這樣,上一屆(因瘟疫停辦一屆世遺大會,即兩年前)的 「 良渚古城遺址 」(Archaeological Ruins of Liangzhu City, 1592),也是申遺成功而一戰成名,突然火遍全網,在此之前很多人是從來沒聽說過良渚的。很多國外的與世遺相關的新聞也能頻頻出現在大眾視野中,像是這一次大會上利物浦海事商城被除名,抑或是上一屆日本的申遺項目「百舌鳥和古市古墳群:古日本墓葬群」(Mozu-Furuichi Kofun Group: Mounded Tombs of Ancient Japan, 1593),那形似鑰匙孔的奇特航拍照片,都曾是關注度極高的熱門話題。所以申遺一個重要的角力目的就是提高知名度,事實也證明效果相當顯著。 提高知名度這一點,不止國際上的角力,國內也暗藏洶湧。這跟《蘇州決議》之後的世界遺產大會的制度有很大關係,它規定了每個國家每年只能申報一個項目。而中國本身即是「山川壯麗,物產豐隆」之國,世界遺產極為豐富,近年來也一直和義大利之間輪流坐遺產數量最多國家的交椅。我估計中國最終能有 200 左右的遺產地也不算誇張,只是在這套制度下,起碼還得再慢慢申上一百多年。有潛力的地方這麼多,名額就一個,那肯定得搶了。看看中國世界遺產按省級行政區的分布就知道,政治資源最豐富的北京高達七項,亦是世界上遺產數量最多的城市,而南方大省廣東卻只有兩項,實在不可思議。近年來在申遺上各國都喜歡用「打包」的形式,像北京這樣故宮是一項,頤和園是一項,天壇又是一項的情形很難再復現了,倘若是現在的申遺項目估計會用「明清皇家建築」之類的名字一次性全部拿下。 中國的世界遺產太多了,國人除了申遺成功當下慶賀一下之後,其他時間都不會太在意這件事,甚至有些不太出名的遺產地國人都不知道,像廣東的遺產地「開平碉樓與村落」(Kaiping Diaolou and Villages, 1112)知名度就很低,我在廣東這麼多年也很少聽說有人來廣東會特地去拜訪此處的。 其他國家並沒有如此龐大的遺產數目,申遺算得上大事,身陷政治打壓的也不在少數。沒錯,台灣就是典例。要明確一點的是,《保護世界文化和自然遺產公約》(Convention Concerning the Protection of the World Cultural and Natural Heritage)本身即是聯合國教科文組織所主導的,申請國必須是該公約的締約國。但我們都知道台灣不是聯合國成員國,更不是締約國,而申遺項目卻需要以締約國為單位上報。當然,這並不意味著台灣就完全沒有申遺的機會了,非成員國可以委托他國代為申報,「耶路撒冷古城及其城牆」(Old City of Jerusalem and its Walls, 148)就是一個例子,這項世界文化遺產聯合國教科文組織未明確標明該遺產所在國,當年正是由隔壁約旦代為申報的。台灣的特殊情況,也引發了島內的分歧和爭議,親中派自然認為應該與中國合作,中國也肯定很樂意優先幫台灣的申遺項目提上日程。要向中國委曲求全,綠營當然就不同意了,當然這邊也提出了一些可以和日本合作的方案。總之,無論合作對象是誰,台灣的申遺工作仍然陷於泥潭之中,雖然早在2009年就組織「世界遺產推動委員會」,並挑選出了…

  • |

    中國女權觀察

    中國女權真的像一些人口中那些被捧上天了嗎? 如果直接從大數據開講,帶上許多農村地區,這個問題已經可以不攻自破。中國的貧富差距太大,觀念差距也太大,在一些欠發達地區根本無女權可講。所以我下文所談的東西都只是從一段小討論中得出簡單論點。 若關注我私下動態,會知道我前幾日心態不穩,就在這胡言亂語之間突然跟基友進入到了「女權」這一話題,源於他發的一張圖片: 卻沒想到我倆之間的觀點竟然衝撞起來,我都直接問若不是當作笑話,你發這幅圖的目的何在。 他說此圖自然是笑話,但直到最後他論證給我的東西都是中國女性地位高。比起一票第三世界國家,高固然高,但真的像一些人吹到 NO.1 的地步了嗎?折射出的是一股典型的所謂強國浮誇的風氣。我始終覺得遠遠不夠,比起他們一貫認為早就超越的日本也很難說,而我拋磚引玉的對象就是日本。 針對上圖,我當即發出的感嘆就是:還是懂 AA 制的妹子穩呐,第一時間舉的例子便是日本人。類似圖中這樣將男性作為提款機似乎已經成了一種社會風氣,就好似她描述的詞彙,把概念偷換成「承擔」,給錢便鍍層金叫「紳士風度」,不給錢就直接貼上「直男癌」的標籤。 所以能夠懂 AA 制的妹子真的很穩,AA 這一點才能直觀感受女性地位是高的,日本作為一個發達國家,畢竟是發達國家,何曾被一些人黑得如此不堪?誠然如基友說,AA 只是一件小事,只是觀念區別。觀念區別已經很要害了,這就是發達的觀念和發展中的觀念的區別,完全可以被定性好壞。小事是小事,小事也能映射很多東西,這背後最直觀的是感情付出不平等。我是摳到跟女朋友一起幾頓飯錢都不給的人嗎?歷史告訴我當然不是,這確確實實是一件很小的事,並且再能有這樣的機會我還是會出於「社會形成的禮儀」去結帳,根本不痛不癢。但對方是否「懂」AA 便是整個價值觀層面的考量了。 曾經在一場辯論賽上,辯題應該和「男人更累還是女人更累」相差不多。我一位學長在最後結辯升的價值便是,如果中國女性沉迷於這種基本的物資滿足便不再向上追求的話,中國女權實際上是處於黑暗中的。當時坐在臺下的我深表贊同。 畢竟,經濟獨立也是自主獨立的一部分。依靠別人給的錦衣玉食,隨時都可能被奪去。戀愛中的地位只能叫男方愛你讓你,但還有一方面很重要的東西叫社會地位,這真真切切地是在體現社會地位。 不愛守常規的我,又說了一個乍一聽很扯淡的例子——我說日本的牛郎店非常發達。可能在某些人心中直接把牛郎店與鴨店劃上了等號,自然會覺得我說了一個很扯淡的例子。需要澄清的一點是,牛郎店是一個正規行業,牛郎的工作就是聽客人傾訴聊天陪她們喝酒。看見有文章誇張地介紹,這就是拯救靈魂的工作。確實,一個能讓女性可以隨時找到傾訴地點的社會,真的很不容易。之前聽別人談及家暴時聽到一個論點是女性受委屈無處可以釋放,而男性不如意時往往便回家以家暴的形式釋放。而事實上,日本女性既有地方可以釋放,家暴率也低於中國,不知只活在情侶關係童話中的人如何支撐他們的論點。 開頭已經說了這篇文章來源於一個小討論,內容到這其實也就這麼點了。而現在大多數所謂中國女性地位高,都是基於我稱之為的情侶關係的童話中。僅僅把年輕不懂事的小女生所受到的優待地位當作是高地位的論據,卻不知道這些東西是怎麼在未來被還回去的。 在這個地方結束是因為,這個話題太寬泛了,也不是我們兩個人能討論清楚的,大概只是他不願服輸吧,討論便中止在了這。在這之後,我也大致看了看其他認為中國女性地位低的人發表的觀點,從升學、就業、婚姻甚至到法律、權力席位,寬泛到根本不是我能夠講清楚的各個領域,皆在表露中國女性地位低的問題,哪裡只是我講到的那兩項小東西呢?有興趣可以閲讀一下2018年全球性別差距報告關於中國部分的具體細則(p.126),中國再降三名。這份報告正是因為中國排名並不高,而被中國的政治正確打成野榜的受害者之一,但人家的計算標準非常科學,論述也比我講述的清楚且有力多了。 更為真實的,你正看到發生中的,是中國的輿論導向越來越奇怪。其實落後並不可怕,自己騙自己才是最可怕的。

  • | |

    舊推理迷的新視角

    終於在合適的場合下體驗了年輕人鍾愛的「劇本殺」這一類桌遊,而向來我對社交屬性這麼強的桌遊避而遠之,狼人殺亦如是。倘若講桌遊,還是集換式卡牌玩得順心,誰要約我去打遊戲王或者萬智牌,必然是想都不帶想直接答應。 不過今天的主題是「推理」不是「桌遊」,這類強社交的桌遊都會無意識地強調推理元素非常重要,輔以一些恐怖、獵奇之類的元素,深得年輕人喜愛。 推理?那不是我老本行嗎,沒經歷中二的年代都不會存在這個網站的名字,雖然我把網站名字的意義改了,可最開始的 ZTT 其實就是偵探團的拼音縮寫。大概是某一天覺得有些羞恥,就牽強地塞了三個英文單字上去替換了原意。 不過更準確地說來,我是想以推理小說為主軸,泛講這個詞?抑或是引申至推理片?牽扯的內容太複雜。講點熟悉的東西好很多,畢竟我以前推理小說真的看得太多了,還記得高中的時候好多晚不睡覺抱著手機看一整夜,這也是我高考跪了的原因,尚未高考的讀者千萬不能學。再準確一點,主題是日系推理小說,我閲讀的約 90% 都是日本推理小說,對其他流派,當然說白了就只剩歐美,並沒有那麼熟悉,惟基本概念都有,應當不會有大的紕漏。事實上我的總閲讀量大概也就 100 多本而已,比起真正的狂熱粉絲有所不及,姑且自詡為推理迷,不至於連門檻都不到吧。 劇本殺這段前言,看似毫無意義,直接開門見山說推理小說不就好了?我還是想借其中推理部分綜合談談。即使劇本殺過程有些線索給得很直球,一眼就能看出其用意,我的參與度並不高。原因一是我不太善於交談,二是我不太適合又放著背景音樂又和這麼多人講話的情況下去專心閲讀文字,三是第一次玩不太懂機制運作,自己扮演了一個角色意味著什麼?整個劇本會不會有敘詭之類的設定呢?一概不知。總體來說劇本殺本身的推理難度並不大,像極了本世紀初那些面向青少年的推理雜誌上的謎題,只是附加了一個故事背景之後,能把這種沉浸式體驗的時間拉到很長。本世紀初國內還有貝克街推理學院這種論壇(隨手一搜驚訝發現還在運營,也算是十幾年的老站了),不知道還有沒有人聽說過,上面的謎題質量都能高過劇本殺很多。此處澄清一個誤區,推理小說說白了是閒書,看得多並不會讓讀者推理水平變好,能享受推理過程的其實只有作者而已。 我入坑推理小說的時間正是東野圭吾在國內開始興起的那幾年,突然間書店裡就堆滿了他的書,於是看了看,便一發不可收拾。推理熱這種現象也不算是由推理小說所帶來的,其熱度持續很久,名偵探柯南的作用可能都大過推理小說。只是明顯能看到這麼多年來推理熱的現象有增無減,我已經有三四年沒認真看過推理小說了,前段時間進了一次書店,發現推理小說的比例真是高到嚇人,再加上很多國產推理小說開始興起,乃至於劇本殺這種桌遊的爆紅,都揭示著這個行業確實仍處於水漲船高的階段,頗具市場。 《嫌疑人X的獻身》是最早看的東野圭吾的作品,一部完成度極高也很精彩的作品,當初確實被吸引到了,不然哪會入坑。只可惜一上來就看了天花板作品,之後看他的很多其他作品都覺得只能稱作差強人意,頗有種出道即巔峰的失落感。於是轉而看其他作者的作品,了解整個行業的情況,慢慢地成了一個推理迷。 剛才也說,推理小說真正能享受推理過程的其實是作者而已,讀者就圖一樂。但還有另外一件讀者可以做的事情是找出文中的紕漏之處,昨天聽到有劇本殺老玩家說很多本的 bug 十分明顯,邏輯完全不能自洽,其實推理小說亦如是,幾乎每一本都有瑕疵,如果是一些不入流蹭熱度的新作家則會暴露得特別明顯,這也是如何評價一本推理小說是否好看的重要因素之一。畢竟若論文學性高低,本來只是一堆閒書而已,況且大多數還是外國作品,還與譯者自身的文學水平掛鈎。依此標準來看,很多愛好者會極力推崇埃勒里‧奎因的《希臘棺材之謎》一書的原因就很明晰了,許多愛好者都認為這是一本幾乎沒有邏輯漏洞的作品,堪稱完美。而奎因本身也被愛好者們視為一名純邏輯作家,其他像是《Y的悲劇》等作品一樣享有盛名。 除了文章本身的邏輯之外,畢竟這些作品的體裁都是「小說」,作者不妨可以玩一點敘事手法上的花樣,以彰顯它們本質是一部文藝作品。所以當有人問我最喜歡東野圭吾哪本作品的時候,我並不會回答成就最高的那幾本,而是回答《惡意》。與其說是最喜歡,倒不如說是印象最深刻,我一直重複提及推理小說是打發時間的閒書,因此大部分書的內容其實我早就忘得一乾二淨了,看完就忘,很符合閒書特質。但《惡意》給我的印象完全不同,試想看了很多普通的本格推理小說,漸漸地你都開始覺得套路一致有些麻木和無聊的時候,突然有這樣一本書用了特殊敘事手段,一步一步引導,終在文末來個驚天大逆轉的寫法,是多麼驚艷。從那時起,我才聽說了「敘詭」這種寫法。敘詭,敘述性詭計的簡稱,維基釋義為透過運用語言上的歧義,或者偷換文字結構的方式,以達到誤導讀者的目的。這也是我在前文為什麼說會擔心劇本殺有機制上的問題,若是劇本殺也有敘詭的話,會不會可能主持人是凶手?不過玩過一次之後發現自己想得太多了,劇本殺從業者看見這段之後不妨也可以考慮一下敘詭模式的新劇本,說不定會大有市場呢。說回來,顯然《惡意》算定義上的敘詭,但若是獨放在敘詭的這一大類中,它並不算是成就很高的一本書。若想快速了解敘詭到底是什麼或者直觀地感受一下敘詭,我推薦北山猛邦的《「愛麗絲‧鏡城」殺人事件》,充分向敘詭新人演繹什麼叫做存在一個意想不到的凶手,我認為這是一本帶有教科書式的敘詭寫法的作品。北山猛邦這個作者不算特別有名,這本書讀感也有點稍差,不知是原文還是譯者的問題。如果追求好一點的讀感那麼讀網上大多數介紹敘詭的文章都會推薦的那些書就好,像是道尾秀介的《向日葵不開的夏天》,這本初看的時候就給我留下了文風還挺雅致的好印象。 後來看得更多了,去專門挑一些知名度更高的作者來看,像是日系始祖江戶川亂步。看了幾部之後明顯能感到和最近二十年的作品風格迥異,我一直認為江戶川亂步寫的作品更像是冒險小說,追凶手的路途曲折迂迴,場景都換了無數個,推理元素並沒有那麼明顯。而且好多更是重獵奇內容,像是《人間椅子》,他作為奠基人的地位的確難以動搖,但他的書確實不適合入門來讀。與江戶川亂步齊名的三大名家另外兩位橫溝正史和松本清張,就要好很多。說起橫溝正史,之前 Amazon 促銷一塊錢買了全 25 本的《金田一探案大全集》,我竟然看完了,導致他直接變成我閲讀量僅次於東野圭吾的作家,東野早期讀得太多,算下來大概在 30 來本左右吧。哪怕是金田一探案集,很多本也沒有重推理,仍是一堆獵奇元素。《本陣殺人事件》還是值得一提,其完成度非常高的本格推理,很多人推薦橫溝正史也是說這本,算他最享有盛名的作品之一,除此以外《獄門島》、《八墓村》都是愛好者們常提的佳作,這兩本也特別符合一般大眾對推理小說的刻板印象,像是詭異的殺人預告和慘烈的連環殺人事件。日系早期並不像現在擁有和歐美流派齊名的地位,很多作品都有明顯模仿當時歐美推理小說的影子,所以問題挺多可以理解,大多作品放在現在並不一定算得上特別優秀,名聲的來源只能視為是開拓者的地位擺在那。為了彰顯「新」這個特徵,一些新作家稱自己為新本格派,溯源則是綾辻行人發明的噱頭,當然綾辻行人的《館》系列的確都稱得上很優秀的本格作品。 三大名家還有一位——松本清張,我想特別說說。我一直吐槽推理小說是閒書,但松本清張為我打破了這個印象,若是沒有大量時間揮霍的讀者,不妨讀一讀松本清張。松本清張的推理作品其實中規中矩,我還記得他的第一本書我讀的是算是最有名之一的《點與線》,詭計的創意真的非常不錯,將全日本的列車時間表玩到了極致,不過整本書也只給了我耳目一新的感覺,但並沒有讓我覺得要高呼神作。最出名的作品尚且如此,為何我還對他評價這麼高呢?松本清張這個人的定位,就直接是作家,而非推理小說家,這也意味著他的文學性是要好過很多其他作者的。維基介紹他:「其作品的特點是用推理小說的方法,探索追究犯罪的社會根源,揭露社會的矛盾和惡習,反映人們潛在矛盾和苦惱。」概括得就特別到位,他的書往往能折射出日本社會的深層問題,我曾看過他一本叫《日本的黑霧》的書,就稱不上是推理小說或者本來就不是小說,真人真事,說是紀實文學都比說是小說靠譜。但這本書真的也有在進行推理,書上列舉的都是一些戰後日本發生的懸案,然後這本書所做的是去推理真凶是誰,頗有開膛手傑克沒結案之前,那些民間鋪天蓋地的分析文的風範。本質上這本書跟那些分析文沒有區別,只是多分析了幾個案件,輔以稍微高於大眾的文字功底,合著成了一本書罷了。這本書的價值在於讓我理解了很多戰後日本的社會情況,推理的過程也並不重要,我已經忘記他推出的真凶是誰了,只是此刻提到松本清張時,他能讓我想到的竟然是一本根本不算推理小說的書,這件事本身就饒有趣味。基於這些原因,有人直接把松本清張的作品歸為社會派推理小說,直接開創一個新派別出來。最近國內又首次翻譯並出版了松本清張的四本新書,聽聞也是反映了戰時日本的司法狀態,一下子就點燃了我的興趣。反映社會情況的推理小說其實讀來都還挺有感悟,像是宮部美雪的《火車》中塑造的泡沫經濟崩潰後的日本狀況,一定算是我腦中構築起對那段時間整體想像的部件之一。 再者深入獵奇這個元素,書中能不能搞一些怪力亂神的東西出來呢?也即是說推理小說是否所有東西一定要符合現實的物理規則,能不能完全架空一套新規則呢?當然我相信這樣做的後果一定是 bug 更多,但有人真就喜歡加一些超自然元素進去,這類作品我看過後其實滿無語的,原本以為是一樁怎樣的懸案,結果你告訴我這麼扯的謎底,只覺敷衍,一股山頂跌至谷底的反差感。曾經讀過清涼院流水《密室之門》這部作品,內容真像如上所述那樣寫的,他的書我看完是真的懵了,這到底是什麼玩意兒?給大家的啟示就是,哪個領域都差不多,以後還是別踩雷了,老老實實按著前輩們給的推薦看完吧,再雷也雷不到哪去。這個作者是真不出名,你去愛好者論壇問都不一定有幾個人知道,當時純粹是因為學校圖書館有本他的實體書才歪打誤撞會看他的書。後來我特意去查了一些他究竟何方神聖,網上措辭很委婉,說他的作品「爭議極大」。剛再搜索了一下,就《密室之門》有位台灣哥們寫了一篇有雷勸世文,講他的推薦值指數 0 分;亦有人說清涼院流水就叫自 High 一派,總之沒看見說他好話的,看到之後很解氣。我是不太能接受超自然元素的設定,覺得很無趣,想寫超能力去寫輕小說好了,不要破壞推理小說的樂趣。而再回到劇本殺,昨天我玩的那個本就有鬼魂一類的設定,也讓我覺得很無語,不過很多人玩劇本殺一類的東西就是追求恐怖元素,這也是迎合市場需求罷了,二來是不能破壞已陣亡玩家的遊戲體驗,想個設定讓他們返場而已。對此只能表示還能理解,但我本人是不太喜歡此類形式的東西。想看點描述妖怪一類的主題,讀讀京極夏彥就不錯,例如最出名的《姑獲鳥之夏》,好歹人家的書有意思多了。 其實說到恐怖和獵奇元素,二者算是推理小說根深蒂固的刻板印象了,前文我也提到過,好像一般人對推理小說的印象就是各種血腥駭人聽聞的連環殺人事件,畢竟一大半書名都長這樣——《XXXX殺人事件》。說了這麼多,我還從未提過我自己最喜歡的推理作家是誰,我想算是米澤穗信吧。這個回答可能對於一些愛好者來說很雷,但在我眼中,這種日常的小推理有意思多了,讓我更有親近感。連環殺人案?一般人碰得上嗎?或者也沒人真的想碰上吧。推理是個動詞,運用邏輯和事物之間的關係才是重點,根本沒必要非得布置這麼血腥的場景,某種意義上,殺人案本身已經是一個相當獵奇的符號了,因為它早已超脫一般人的真實生活。而這種印象更多還是來源於歐美流派,但人家管這類小說叫 Detective fiction,偵探小說,甚至直接叫犯罪小說,推理小說一詞某種意義上講是日本說法,施以改良未嘗不可。喜歡米澤穗信另一個因素可能是情懷吧,古典部系列這種校園生活是我年少時的嚮往和一生美好回憶的象徵,其衍生的動畫作品《冰菓》也一度是我在二次元時期認定的「本命番」。無論是古典部系列、小市民系列還是 S&R 系列,背景都是校園和日常生活,推理的內容都是平日生活中的小事,像是推理校刊創立之初發生過什麼,開設一間專門尋找失蹤小狗的偵探事務所「紺屋S&R」,乃至於老師教科書貼的便籤作用是什麼這種不能再瑣碎的日常小事。我也尤其喜愛小市民系列,從名字就可見一斑,寫的正是小市民,不去寫那些一輩子都碰不上的事件,該系列的書名是什麼風格呢?《春季限定草莓塔事件》、《夏季限定熱帶水果聖代事件》、《秋季限定糖漬栗子事件》,光從名字就能感受到甜甜的生活氣息,跟那些「妖艷賤貨」不盡相同。在追求獵奇的人眼中,反而會覺得這類作品才無聊,推理的「事件」宛如過家家一樣,米澤穗信沒有名氣也是事實。不過一來,上文提到的邏輯鏈是否完整無誤是推理小說好壞的一個標準,此標準下米澤穗信的作品的邏輯鏈條也可以堪稱完美。二來這種他們看不上的小推理,依然是得到了專業評審的認可,古典部一樣拿的是日本推理作家協會賞,真要說能革新推理小說,米澤穗信這樣的人才叫革新派吧? 所以,米澤老賊,小市民冬季什麼時候能寫出來啊?我都又等了多少年了。

  • | |

    Carpe Diem et Die with Zero

    人生的哲學觀,始終在不斷迭代。直到看見 Die with Zero 這個概念,醍醐灌頂,讓我對人生策略有了全新的解讀,必須在此分享一些深刻的體悟。 我知道有本暢銷書叫這個名字,但我不是要寫書評,字面上的 Die with Zero,我已然深表贊同。至於那本暢銷書,我反而是後來才聽說,也特地去拜讀了,會在後文中稍微提到書中的內容。 誰當牛馬不瘋呢?我前幾年天天刷著自己的券商 app,用 FIRE (Financial Independence, Retire Early;財務自由,提早退休)計算器計算自己哪天能開始躺平,結果發現遙遙無期,更加絕望。於是又用各種衍生模型去重算,例如 Barista FIRE,旨在以一份較為輕鬆的兼職工作,彌補部分現金流。 但 FIRE 模型有一個最嚴重的問題是純粹依靠現金流,死活不動本金,那肯定難呀,誰不想睡後收入就有幾千刀。然而現金流足夠,死的時候本金還在,這不純虧嗎?Die with Zero 因此才是更加適合我的模型,死去那個節點,就應該一分錢不剩——依我看最好還欠上一些。我對 Elon 成為 trillionaire 無感,錢在他們那種層次不過是數字,誰要是能欠上銀行一個 trillion,那才是真正的大佬。欠 1 trillion,我的新人生目標。 提到借錢,真不是玩笑,此處再延申一個策略,叫做 Buy-Borrow-Die,富如 Bezos 都在使用。要知道,Bezos 這種資產水平的大佬,要交的稅一定很多。然而,你也常聽説富人有的是辦法避稅,Buy-Borrow-Die 就是其中一種方式。簡而言之,他們根本不持有現金,也從來不賣掉手上的股票套現,如果有需要用錢的地方,就直接將股票作為抵押物去借錢來用。這樣一來,沒有賣出的操作,根本不會產生高額資本利得稅,同時借款的利息,反而還能用於抵稅。只要年化能超過貸款利息,就可以使用此策略,這個前提並不困難,簡單的指數都能跑贏貸款利息。 言歸正傳,直接從 FIRE 的概念過渡到 Die with Zero,意味著我有個天然前提就是接受 FIRE、Die with Zero、躺平的理念。而很多人仍秉持著一定要存錢,要夠錢退休的想法,那就得去拜讀原書,那本書才詳細論證了為何需要接受 Die with Zero 的理念。 為此,我也設計了比 FIRE 計算器更合適的 Die with…

Leave a Reply

Your email address will not be published. Required fields are marked *