搜尋
首頁後端開發C#.Net教程分享一道邏輯面試題,看看能答對嗎!

這篇文章跟大家分享一道錯誤答案傳遍全網的邏輯面試題(附解析),大家可以對照著自己分析一下,看看是否能答對!

01 故事起源

100個人回答五題,有81人答對第一題,91人答對第二題,85人答對第三題,79人答對第四題,74人答對第五題。

答對三題或三題以上的人算及格,那麼這100人中至少有多少人及格呢?

分享一道邏輯面試題,看看能答對嗎!

02 思考小規模,AB兩題

先考慮如果只有AB兩題,100個人,第一反應是用集合的方式。

分享一道邏輯面試題,看看能答對嗎!

總共也就上面3種情況,其中第一種人數大於100非法,所以只存在後面2種情況。
可以得到以下結論:

  • 同時做對AB兩題的最少有72人,最多有81人;

  • ##同時做錯AB兩題的最多有9人,最少有0人。

看來已經找到了規律,那就依照這個想法進一步擴大資料規模,考慮ABC三題。

03 擴大規模,ABC三題

先考慮每兩題之間的關係。

分享一道邏輯面試題,看看能答對嗎!

再合成三題的關係。等等,好像有點複雜,這不是線性的複雜度,不好意思,小K的智商有點不夠用,自閉了。

分享一道邏輯面試題,看看能答對嗎!

那小K是不是要準備放棄了呢,NO,never say give up。有時候不要撞倒南牆不回頭,基於小K多年的經驗,如果找到的規律不明顯或很複雜,一般都說明你走錯了,所以這時要考慮切換思維方式。

04 切換思維

上面都是正向思維,但不好處理,可以逆向思維。

分享一道邏輯面試題,看看能答對嗎!

只要錯3道就不及格,一共有19 9 15 21 26=90道錯題,那麼90/3=30,則最多有30人不及格,所以最少有70人及格,perfect,收工。

Wait,總覺得有點怪怪的,倒不是因為太簡單,而是對於資訊量的直覺告訴我,這種解法忽略了很多的資訊量。

只用了總數,而沒有用到5題的錯題數量分佈。那就直接告訴你總共錯了90就行了,為啥還要單獨告訴具體的數量,這難道真的只是誤導訊息嗎?

05 極限法思維

根據上面的解法,既然不關心具體分佈,那就用極限思維,建構特殊資料。例如所有錯題都集中在A題。

分享一道邏輯面試題,看看能答對嗎!

總共錯90道,但所有人都做對4題,應該是100人及格,再一次自閉。

這時,我想應該有槓精要跳出來了。

分享一道邏輯面試題,看看能答對嗎!

小K:你說得很有道理,我竟無言以對。

先不跟你扯,咱們進一步思考,這個反例說明了一點:錯題不能隨意均攤,那就從這點下手。

06 錯誤均攤

先看錯誤的分佈。

分享一道邏輯面試題,看看能答對嗎!

如何將這些錯誤分配給最多的人。

為了分析方便,先寫一個簡單的例子,如錯題分佈為7、8、9、10、11。

第一種分配:

  • 將A,B,C分配給7人

  • 將C,D, E分配給2人

  • 將B,D,E分配給1人

總共可分配7 2 1=10人。

分享一道邏輯面試題,看看能答對嗎!

第二種,優先分配B,C,D,總共11人。

分享一道邏輯面試題,看看能答對嗎!

第三種,優先分配C,D,E,總共12人。

1分享一道邏輯面試題,看看能答對嗎!

到這裡我們已經發現了規律,優先分配最大的3道會得到更多的人數。而在分配過程中最大的3道順序會動態變化,這就啟發了貪心的思想。

  • 將錯誤從大到小排序;

  • #每次將最大的前3個分配給一人,然後重新排序。

重複上面步驟,直到最後找不出3個不為0的數,也就是變成X,0,0,0,0或X,Y,0,0,0。

07 抽象

轉換問題:有5個矩形,順序可隨性。要切出寬度為3的N個矩形,要求總體疊加要盡量的高,最高有多少?
你品,你細品,這是不是同一個問題呀。所以要從最高的前3個開始一點一點地削它,哈哈。

1分享一道邏輯面試題,看看能答對嗎!

08 真相浮出水面

回到原題,那到底至少有多少人呢?通過程式碼測試結果。

8.1 程式碼實作

#
int main() {
    int a[5], ans = 0;
    for (int i = 0; i < 5; ++i) {
        cin >> a[i];
    }
    sort(a, a + 5, compare);
    while (a[2] > 0) {
        a[0]--;
        a[1]--;
        a[2]--;
        sort(a, a + 5, compare);
        ans++;
        for (int i = 0; i < 5; ++i) {
            cout << a[i] << " ";
        }
        cout << endl;
    }
    cout << "ans=" << ans << endl;

    return 0;
}

8.2 資料測試

25 20 18 15 9 
24 19 17 15 9 
23 18 16 15 9 
22 17 15 15 9 
21 16 15 14 9 
20 15 14 14 9 
19 14 14 13 9 
18 13 13 13 9 
17 13 12 12 9 
16 12 12 11 9 
15 11 11 11 9 
14 11 10 10 9 
13 10 10 9 9 
12 9 9 9 9 
11 9 9 8 8 
10 8 8 8 8 
9 8 8 7 7 
8 7 7 7 7 
7 7 7 6 6 
6 6 6 6 6 
6 6 5 5 5 
5 5 5 5 4 
5 4 4 4 4 
4 4 4 3 3 
3 3 3 3 3 
3 3 2 2 2 
2 2 2 2 1 
2 1 1 1 1 
1 1 1 0 0 
0 0 0 0 0 
ans=30

所以至多30人不及格,則至少70人及格,答案雖然一樣,但思考方式卻不一樣。

09 總結

看似簡單的問題,也要多深入思考,說不定你會發現不一樣的結論。而且也別輕易相信別人的分析,這個問題網路上90%都是錯的,大家也可以看一下我的分析是否嚴謹,如果有問題也請留言回饋,謝謝啦。

相關推薦:《C語言影片教學》、《PHP影片教學

#

以上是分享一道邏輯面試題,看看能答對嗎!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:微信-小K算法。如有侵權,請聯絡admin@php.cn刪除
特斯拉自动驾驶算法和模型解读特斯拉自动驾驶算法和模型解读Apr 11, 2023 pm 12:04 PM

特斯拉是一个典型的AI公司,过去一年训练了75000个神经网络,意味着每8分钟就要出一个新的模型,共有281个模型用到了特斯拉的车上。接下来我们分几个方面来解读特斯拉FSD的算法和模型进展。01 感知 Occupancy Network特斯拉今年在感知方面的一个重点技术是Occupancy Network (占据网络)。研究机器人技术的同学肯定对occupancy grid不会陌生,occupancy表示空间中每个3D体素(voxel)是否被占据,可以是0/1二元表示,也可以是[0, 1]之间的

基于因果森林算法的决策定位应用基于因果森林算法的决策定位应用Apr 08, 2023 am 11:21 AM

译者 | 朱先忠​审校 | 孙淑娟​在我之前的​​博客​​中,我们已经了解了如何使用因果树来评估政策的异质处理效应。如果你还没有阅读过,我建议你在阅读本文前先读一遍,因为我们在本文中认为你已经了解了此文中的部分与本文相关的内容。为什么是异质处理效应(HTE:heterogenous treatment effects)呢?首先,对异质处理效应的估计允许我们根据它们的预期结果(疾病、公司收入、客户满意度等)选择提供处理(药物、广告、产品等)的用户(患者、用户、客户等)。换句话说,估计HTE有助于我

Mango:基于Python环境的贝叶斯优化新方法Mango:基于Python环境的贝叶斯优化新方法Apr 08, 2023 pm 12:44 PM

译者 | 朱先忠审校 | 孙淑娟引言模型超参数(或模型设置)的优化可能是训练机器学习算法中最重要的一步,因为它可以找到最小化模型损失函数的最佳参数。这一步对于构建不易过拟合的泛化模型也是必不可少的。优化模型超参数的最著名技术是穷举网格搜索和随机网格搜索。在第一种方法中,搜索空间被定义为跨越每个模型超参数的域的网格。通过在网格的每个点上训练模型来获得最优超参数。尽管网格搜索非常容易实现,但它在计算上变得昂贵,尤其是当要优化的变量数量很大时。另一方面,随机网格搜索是一种更快的优化方法,可以提供更好的

因果推断主要技术思想与方法总结因果推断主要技术思想与方法总结Apr 12, 2023 am 08:10 AM

导读:因果推断是数据科学的一个重要分支,在互联网和工业界的产品迭代、算法和激励策略的评估中都扮演者重要的角色,结合数据、实验或者统计计量模型来计算新的改变带来的收益,是决策制定的基础。然而,因果推断并不是一件简单的事情。首先,在日常生活中,人们常常把相关和因果混为一谈。相关往往代表着两个变量具有同时增长或者降低的趋势,但是因果意味着我们想要知道对一个变量施加改变的时候会发生什么样的结果,或者说我们期望得到反事实的结果,如果过去做了不一样的动作,未来是否会发生改变?然而难点在于,反事实的数据往往是

使用Pytorch实现对比学习SimCLR 进行自监督预训练使用Pytorch实现对比学习SimCLR 进行自监督预训练Apr 10, 2023 pm 02:11 PM

SimCLR(Simple Framework for Contrastive Learning of Representations)是一种学习图像表示的自监督技术。 与传统的监督学习方法不同,SimCLR 不依赖标记数据来学习有用的表示。 它利用对比学习框架来学习一组有用的特征,这些特征可以从未标记的图像中捕获高级语义信息。SimCLR 已被证明在各种图像分类基准上优于最先进的无监督学习方法。 并且它学习到的表示可以很容易地转移到下游任务,例如对象检测、语义分割和小样本学习,只需在较小的标记

​盒马供应链算法实战​盒马供应链算法实战Apr 10, 2023 pm 09:11 PM

一、盒马供应链介绍1、盒马商业模式盒马是一个技术创新的公司,更是一个消费驱动的公司,回归消费者价值:买的到、买的好、买的方便、买的放心、买的开心。盒马包含盒马鲜生、X 会员店、盒马超云、盒马邻里等多种业务模式,其中最核心的商业模式是线上线下一体化,最快 30 分钟到家的 O2O(即盒马鲜生)模式。2、盒马经营品类介绍盒马精选全球品质商品,追求极致新鲜;结合品类特点和消费者购物体验预期,为不同品类选择最为高效的经营模式。盒马生鲜的销售占比达 60%~70%,是最核心的品类,该品类的特点是用户预期时

机器学习必知必会十大算法!机器学习必知必会十大算法!Apr 12, 2023 am 09:34 AM

1.线性回归线性回归(Linear Regression)可能是最流行的机器学习算法。线性回归就是要找一条直线,并且让这条直线尽可能地拟合散点图中的数据点。它试图通过将直线方程与该数据拟合来表示自变量(x 值)和数值结果(y 值)。然后就可以用这条线来预测未来的值!这种算法最常用的技术是最小二乘法(Least of squares)。这个方法计算出最佳拟合线,以使得与直线上每个数据点的垂直距离最小。总距离是所有数据点的垂直距离(绿线)的平方和。其思想是通过最小化这个平方误差或距离来拟合模型。例如

人类反超 AI:DeepMind 用 AI 打破矩阵乘法计算速度 50 年记录一周后,数学家再次刷新人类反超 AI:DeepMind 用 AI 打破矩阵乘法计算速度 50 年记录一周后,数学家再次刷新Apr 11, 2023 pm 01:16 PM

10 月 5 日,AlphaTensor 横空出世,DeepMind 宣布其解决了数学领域 50 年来一个悬而未决的数学算法问题,即矩阵乘法。AlphaTensor 成为首个用于为矩阵乘法等数学问题发现新颖、高效且可证明正确的算法的 AI 系统。论文《Discovering faster matrix multiplication algorithms with reinforcement learning》也登上了 Nature 封面。然而,AlphaTensor 的记录仅保持了一周,便被人类

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
1 個月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器