LeetCode 2151. 基于陈述统计最多好人数(状态压缩)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 2151. 基于陈述统计最多好人数(状态压缩)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
1. 題目
游戲中存在兩種角色:
- 好人:該角色只說真話。
- 壞人:該角色可能說真話,也可能說假話。
給你一個下標從 0 開始的二維整數數組 statements ,大小為 n x n ,表示 n 個玩家對彼此角色的陳述。
具體來說,statements[i][j] 可以是下述值之一:
- 0 表示 i 的陳述認為 j 是 壞人 。
- 1 表示 i 的陳述認為 j 是 好人 。
- 2 表示 i 沒有對 j 作出陳述。
另外,玩家不會對自己進行陳述。形式上,對所有 0 <= i < n ,都有 statements[i][i] = 2 。
根據這 n 個玩家的陳述,返回可以認為是 好人 的 最大 數目。
示例 1:
示例 2:
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/maximum-good-people-based-on-statements
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
- n比較小,把每個人是好人還是壞人的實際情況看成 int 的 n 位 01 二進制位
- 枚舉每種狀態,遍歷該狀態下的好人說的話有沒有矛盾的
112 ms 8.2 MB C++
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的LeetCode 2151. 基于陈述统计最多好人数(状态压缩)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Chapter3-1_Speech Se
- 下一篇: LeetCode 1855. 下标对中的