惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Register - Security
The Register - Security
美团技术团队
Recent Announcements
Recent Announcements
MongoDB | Blog
MongoDB | Blog
Jina AI
Jina AI
C
Check Point Blog
aimingoo的专栏
aimingoo的专栏
I
InfoQ
S
Securelist
T
Tor Project blog
GbyAI
GbyAI
L
LINUX DO - 热门话题
V
Visual Studio Blog
AWS News Blog
AWS News Blog
The Cloudflare Blog
腾讯CDC
K
Kaspersky official blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Recorded Future
Recorded Future
李成银的技术随笔
W
WeLiveSecurity
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
M
Microsoft Research Blog - Microsoft Research
G
Google Developers Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Schneier on Security
Schneier on Security
B
Blog
IT之家
IT之家
爱范儿
爱范儿
H
Help Net Security
Simon Willison's Weblog
Simon Willison's Weblog
NISL@THU
NISL@THU
J
Java Code Geeks
博客园 - 聂微东
T
The Exploit Database - CXSecurity.com
Cyberwarzone
Cyberwarzone
博客园 - 叶小钗
MyScale Blog
MyScale Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Project Zero
Project Zero
F
Future of Privacy Forum
D
Darknet – Hacking Tools, Hacker News & Cyber Security
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Hacker News: Ask HN
Hacker News: Ask HN
D
Docker
Apple Machine Learning Research
Apple Machine Learning Research
B
Blog RSS Feed
V
Vulnerabilities – Threatpost

ABB00717

788. Rotated Digits 396. Rotate Function 幫耳機補血! 週刊 做過的夢(旅行) 週刊 Vol.18 週刊 Vol.17 週刊 Vol.16 做過的夢(火箭推進器和追蹤導彈) 部落格聚集地 在 Ubuntu 24.04 中安裝 python2 和 pip2 動態牆 音樂 用 miniflux 和 Cloudflare Tunnel 自架 RSS Reader 關於用了 GCC 擴充功能,而被批評不夠 Clean Code 這檔事 週記 Vol.15 Makefile GDB TwoMillion 週記 Vol.14 Hack The Box ABB00717's Blog 週記 Vol.13 Leetcode 週記 Vol.12 在互聯網上,什麼該說,什麼又不該說? 週記 Vol.8 週記 Vol.7 週記 Vol.6 天才之於一種義務 就算 LLM 能解答所有問題,你也不該放棄學習 Stack-Based Buffer Overflow 書籍 《絕佳時間》 週記 Vol.5 偽深刻的自我解構 Linux 雜項筆記 解決 Ubuntu 待機後喚醒異常的問題 將應用程式新增到 GNOME 的 Activities Overview 週記 Vol.4 筆記 週記 Vol.3 Assembly Language 文章 紀錄 資源 挑戰 週記 Vol.2 部落格該有的東西 週記 Vol.1 數學符號表 Advent of Code Day 8 Advent of Code Day 7 Obsidian 無痛轉成 Blog Advent of Code Day 6
1980. Find Unique Binary String
2026-03-08 · via ABB00717

https://leetcode.com/problems/find-unique-binary-string/description

每次看到位元操作都會直覺想到 XOR,但這題沒有,直接枚舉並檢查就好了:

from typing import List
 
 
class Solution:
    def findDifferentBinaryString(self, nums: List[str]) -> str:
        n = len(nums[0])
        dict = {}
        for num in nums:
            dict[int(num, 2)] = True
 
        for num in range(pow(2, n)):
            if dict.get(num) == None:
                return f"{num:0{n}b}"
 
        return ""

但還可以更好,如果腦袋想到 dict = True or False,都應該要換成 Set 才對。再來,根據鴿籠原理(Pigeonhole Principle),我們最多只會需要遍歷 n+1 次就可以找到答案了。

from typing import List
 
 
class Solution:
    # len(nums) is expected to be equal to len(nums[i])
    def findDifferentBinaryString(self, nums: List[str]) -> str:
        n = len(nums)
        set = ()
 
        seen = [int(num, 2) for num in nums]
 
        # Base on Pigeonhole Principle, we only have to
        # enumerate until len(nums)+1 instead of limit(n)+1
        for num in range(n + 1):
            if num not in seen:
                return f"{num:0{n}b}"
 
        return ""

咦?我 2025-02-20 有解過?

#include <algorithm>
#include <cmath>
#include <iostream>
#include <string>
#include <vector>
class Solution {
public:
    std::string findDifferentBinaryString(std::vector<std::string> &nums) {
        int n = nums.size();
    
        std::string result;
        for (int i = 0; i < n; i++) {
            result += nums[i][i] == '0' ? '1' : '0';
        }
    
        return result;
    }
};

窩靠 … 只要每個列都挑一個不一樣的位元,那最後組合起來的就必是之前沒有的組合!

我那時怕不是個天才!