Kacam.net

एल्गोरिदम

求第 k 大,为什么用小顶堆

求最大的 100 个,用小顶堆 —— 方向是反的,为什么?

प्रॉम्प्ट कॉपी करें, फिर कोई एक मॉडल चुनें। वह जवाब थमाने के बजाय इंटरव्यू लेने वाले की तरह दृश्य दर दृश्य आपसे पूछेगा।

ChatGPT Claude DeepSeek 豆包 Kimi Gemini

जिस फ़ोन में ऐप लगा है, वहाँ सिस्टम सीधे ऐप खोल देगा। WeChat के अंदर बाहरी ऐप नहीं खुलते — पहले ब्राउज़र में खोलें।

कॉपी किए हुए पाठ के आख़िर में वही उत्तर-कुंजी है जिससे मॉडल आपको आँकता है। पहले खुद न पढ़ें — खुद तक पहुँचना ही असली बात है।

「Top-K 用堆」人人会答,但「大顶堆还是小顶堆」这一问就能分出会和背。正确的心智模型是:堆顶是门槛——目前入选的 k 个里最差的那个,新来的比它好就顶掉它。

这一份还会逼你先问清楚题(数据在内存还是流式、内存多大、要前 k 个还是第 k 个),上来就说「用堆」的会被打断。10 亿个 int 是 4 GB,空间才是这题的重点。

★★★☆☆ · लगभग 30 मिनट · क्या परखा जाता है: 堆顶作为门槛、建堆的真实复杂度、什么时候不该用堆

यह किसका अभ्यास कराती है

संरचना का चुनाव जटिलता कैश और स्थिरांक

यह वाला कर चुके हैं?

साइन इन करके दर्ज करें कि यह अभ्यास कर लिया — अगली बार दिखेगा कि किस दिन किया था।

जिन्होंने यह किया, उनके नोट

अभी किसी ने नहीं लिखा। करने के बाद बताइए कि बातचीत से क्या निकला — किस दृश्य पर अटके, कौन-सा नतीजा बाद में बदला।

नोट लिखने के लिए साइन इन।

इसे कैसे इस्तेमाल करें

यह श्रृंखला सिखाती है, जिरह नहीं करती: यह आपको राह दिखाती है, न कि तब तक दबाती है जब तक कहने को कुछ न बचे। अटकने पर पहले पूछती है कि आप किस परत पर अटके हैं (कभी सुना ही नहीं / जानता हूँ पर क्यों नहीं पता / क्यों पता है पर लिख नहीं पाता), फिर तय करती है कि क्या देना है। एक ही जगह दो बार राह दिखाने के बाद ही सीधा उत्तर देती है — और फिर आपसे अपने शब्दों में दोहरवाती है।

कैसे शुरू करें

  1. एक चुनिए, खोलिए, प्रॉम्प्ट कॉपी कीजिए।
  2. एकदम नई, ख़ाली बातचीत में चिपकाइए, कुछ मत कहिए, पहले सवाल का इंतज़ार कीजिए।
  3. कोड से पहले हाथ से चलाकर देखिए — यह आपको टोकेगी। लंबाई 2 के ऐरे पर हर क़दम चलाना, टेम्पलेट दस बार लिखने से बेहतर है।

बीच में कभी भी कहे जा सकने वाले चार संकेत

  • 跳过 तुरंत अगले दृश्य पर
  • 换个说法 इस जगह को दूसरे कोण से फिर समझाना
  • 直说吧 पूरा उत्तर बताना, फिर मुझसे दोहरवाना
  • 复盘 सीधे समापन पर जाकर पुनरावलोकन कार्ड निकलवाना

तीन फंदे

  • अंत वाला उत्तर-पत्र पहले मत पढ़िए — उसका «आम तौर पर लोग क्या ग़लत समझते हैं» वाला हिस्सा ही हर सवाल का जवाब है।
  • कोड लिखने पर मत टूटिए। एल्गोरिदम में कोड लिखना ही वह काम है जो «असल में समझा नहीं» को सबसे अच्छे से ढक देता है।
  • जब वह तारीफ़ करने लगे, उसे «मेरी तारीफ़ मत करो» वाला नियम याद दिलाइए। राह दिखाना दुलारना नहीं है।

हल ही नहीं सूझता? पहले स्टेट की परिभाषा कीजिए। सीमाएँ बार-बार ग़लत होती हैं? बाइनरी सर्च और प्रीफ़िक्स सम। समस्या का आकार पहचान नहीं पाते? मोनोटोनिक स्टैक और स्लाइडिंग विंडो। जटिलता वाली पर्ची कई और पर्चियों की नींव है — जल्दी कीजिए।