乙個有趣的演算法題

2021-07-31 11:24:27 字數 1960 閱讀 1879

今天看到一道很有意思的演算法面試題,因為之前很少研究演算法,好奇心加上暴躁的脾氣,就決定一定要乾掉這道題:

5個小姐站成一列 他們的姓不同 衣服顏色不同 和不同的飲料 樣不同的寵物 吃不同的水果

1錢小姐穿紅色的衣服,

2翁小姐養乙隻狗,

3陳小姐喝茶。

4穿綠衣服的站在白衣服的左邊,

5綠衣服的再喝咖啡,

6中間的在喝牛奶,

7吃西瓜的養鳥,

8黃衣服的在吃梨,

9吃橘子的站在養貓的旁邊,

10養魚的旁邊是吃梨的 ,

11吃蘋果的在喝香檳,

12江小姐在吃香蕉,

13趙小姐站在藍衣服的旁邊,

14喝白開水的站在吃橘子的旁邊,

15趙小姐站在最左邊。

問 哪個小姐養蛇?

中間的仨小時的思考時間略過…..

直接上答案: 江小姐養蛇。

思路:

先排列出能直接顯示的條件,然後一一推理。

根據13趙小姐站在藍衣服的旁邊15趙小姐站在最左邊以及6中間的在喝牛奶

得出此圖

2.根據4穿綠衣服的站在白衣服的左邊5綠衣服的再喝咖啡,再結合上圖,前者可以推出綠衣服只能在第三或第四縱列,後者推出,綠衣服喝咖啡只能在第四縱列。如圖

1告訴我們錢小姐穿紅色的衣服,所以第三縱列是錢小姐,紅色衣服,而最後的黃色則是趙小姐的衣服顏色。

接著根據8黃衣服的在吃梨10養魚的旁邊是吃梨的推出如下

基本上,大部分的人都能推到這裡。但是接下來,從表面上看,剩下的資訊似乎都沒有什麼大的價值。

但是仔細看其它條件 一一列出如下:

推測:

翁小姐要麼在第四縱列 ,要麼在第五縱列。

假設翁小姐在第四列:陳小姐肯定不能在第二列,因為如果陳小姐在第二列,則第五列就是江小姐了,如果第五列是江小姐,那香檳和蘋果的條件就無法在任何一列滿足了。

但是,如果陳小姐在第五列,江小姐在第二列,香檳和蘋果的條件仍然無法滿足。

因此,我們的推理是錯誤的,翁小姐不在第四列。

如果翁小姐在第五列:

陳小姐無疑 肯定在第三列

第四列就只能是江小姐了

而香檳和蘋果只能在第五列了

剩下的白開水只能在第一列了

鳥和西瓜只能在第三列了

剩下最後兩個條件:14喝白開水的站在吃橘子的旁邊9吃橘子的站在養貓的旁邊

推出:橘子在第二列,貓在第一列,剩下江小姐 就剩下蛇了哦

乙個有趣的排序題

前段時間,遇到乙個有趣的程式設計題,見下 1 輸入 陣列 1,1,3,3,3,6,7,8 有序,有重複,請寫一段 將陣列內容變為1,3,6,7,8,x,x,x,並返回前面無重複序列的長度5 要求 在原陣列中操作 不能開闢新陣列 一次遍歷完成.本人的解法如下 public static void ma...

乙個演算法題

題目描述 某省會城市街道縱橫交錯,為了監控路燈的執行狀況,每條街道使用乙個數字字串標識該街道上所有路燈的執行狀況。假設路燈只有如下 3種狀態 分別用數字 0,1,2標識,一盞路燈只對應其中一種狀態 0 標識路燈熄滅 1 標識路燈開啟 2 標識路燈故障 請根據輸入的字串,找出該街道上連續的處於相同狀態...

乙個演算法題

關鍵字 演算法 有101塊金幣,其中一塊是假的,要求用無砝碼的天平稱兩次,判斷是真的金幣重還是假的重 答案 分三份,第乙份份五十個,第二份五十個,第三份份乙個。第一次 將兩份五十個分別放到天平兩端。如果天平是平的,證明第三份是假的。這時只要從真的裡拿出乙個,和假的分別放到天平兩端,就能知道假的是輕是...