Day 19 / 90 — Software Engineering Challenge Today was focused on revising important problem-solving patterns and strengthening understanding. DSA Practice Revisited: • Largest Subarray with Sum 0 • Count Subarrays with XOR = K • Merge Overlapping Intervals • Merge Two Sorted Arrays (without extra space) Key learnings: • Prefix sum + hashmap is powerful for subarray problems • XOR helps solve problems efficiently with unique properties • Interval problems require sorting + careful merging logic • In-place operations help optimize space complexity Focusing more on understanding patterns deeply rather than just solving new problems. #90DaysOfCode #DSA #ProblemSolving #SoftwareEngineering #LearningInPublic
90 Days of Code: DSA Practice and Key Learnings
More Relevant Posts
-
"GTA-2: Benchmarking General Tool Agents from Atomic Tool-Use to Open-Ended Workflows" Paper: https://lnkd.in/gzMmGn32 Code: https://lnkd.in/gcyAsKWK SWE-bench, SWE-smit, and terminal bench 2.0 are specialised coding benchmarks.
To view or add a comment, sign in
-
-
Day 20 / 90 — Software Engineering Challenge Today was focused on understanding bit manipulation and binary operations. DSA Practice (Bit Manipulation) Solved problems on: • Check if the i-th bit is set or not • Check if a number is odd or even • Check if a number is a power of 2 • Count the number of set bits • Set/Unset the rightmost unset bit • Swap two numbers using XOR • Divide two numbers without using multiplication or division Bitwise operations can significantly optimize computations XOR has unique properties useful for swapping and comparisons Checking powers of 2 becomes simple using bit tricks Binary representation helps in understanding how data is processed at a low level Bit manipulation may look simple, but it’s extremely powerful for writing efficient code. Exploring deeper into how things work at the binary level. #90DaysOfCode #DSA #BitManipulation #SoftwareEngineering #LearningInPublic
To view or add a comment, sign in
-
🚀 Building my own memory allocator in C Today I implemented a basic version of malloc from scratch. Instead of relying on the system allocator, I manually managed memory by: -->Creating a memory pool -->Storing metadata for each block (size, status, next pointer) -->Returning usable memory using pointer arithmetic One concept that really clicked for me: 👉 The pointer returned to the user does NOT point to the start of the block Internally, memory looks like: [ metadata ][ usable memory ] And we return: (curr + 1) This helped me better understand how memory is actually structured and managed at a low level. Next step: handling multiple blocks and improving allocation logic. #EmbeddedSystems #SystemsProgramming #CProgramming #MemoryManagement
To view or add a comment, sign in
-
DSA Day 17. No new problem. Just revision. Took a step back today and reviewed everything I've learnt so far: ⟶ Arrays & Hashing ⟶ Linked Lists — slow & fast pointers, sentinel nodes, Floyd's cycle detection, carry logic No new concepts. No new problems. Just making sure the foundation is solid before moving forward. Revision doesn't feel productive. But it is. You can't build on shaky ground. Day 18 tomorrow — new topic incoming. ✊ #DSA #LeetCode #SoftwareEngineering #FrontendDeveloper
To view or add a comment, sign in
-
🚀 Just published my Unified Memory Debugger – a production‑inspired C++ memory debugging suite. It combines three integrated components: (i) Raw allocator tracker (global new/delete override) (ii) Logical dataset tracker (named objects + age) (iii) Smart pointer connection pool (RAII) 🎯 The goal: Provide a plug‑and‑play memory debugging tool for large‑scale scientific software like GROMACS, which has known memory leak and excessive consumption issues. 📂 Project is still in progress – but the current code is ready to test. 🔗 GitHub: https://lnkd.in/dTt4tiYA Feedback, issues, and contributions welcome! 🙏 #Cpp #MemoryManagement #Debugging #HighPerformanceComputing #GROMACS #OpenSource
To view or add a comment, sign in
-
Coding Agents Have Hands But No Eyes Created by Kuro Sebastian Raschka just published a clean taxonomy of coding agent components. Six categories: live repo context, prompt caching, structured tools, context reduction, memory, and resumption. It's solid engineering work. But read it carefully and you'll notice something: every component serves task... link https://lnkd.in/euDT5mSu pubDate Sun, 05 Apr 2026 02:45:35 +0000
To view or add a comment, sign in
-
👉 Question-60 A strong understanding of dynamic memory, double pointers, and hidden leaks is essential in embedded systems. 👉 What will be the output of the following code❓ #include <stdio.h> #include <stdlib.h> void fun(int **p) { *p = (int *)malloc(sizeof(int)); **p = 100; } int main() { int *ptr = (int *)malloc(sizeof(int)); *ptr = 50; fun(&ptr); printf("%d\n", *ptr); return 0; } Options: A) 50 B) 100 C) Garbage value D) Runtime error 💬 Kindly drop your answer in the comments along with your reasoning. ⚠️ Small hint: --> Old memory lost (memory leak) --> Pointer overwritten #embeddedsystems #doublepointers #firmwaredevelopment #memory
To view or add a comment, sign in
-
🚀 Day 13 of #LeetCode Challenge ✅ Question #1299 – Replace Elements with Greatest Element on Right Side 💡 Approach: Solved this problem by traversing the array from right to left while keeping track of the maximum element seen so far. 🔹 Steps: Initialize maxrt = -1 Traverse from last index to first Replace current element with maxrt Update maxrt = max(maxrt, current element) 🧠 What I Learned: Reverse traversal can make problems easier Maintaining a running maximum helps optimize to O(n) time complexity ⚡ Performance: Runtime: 3 ms Memory: 72.64 MB
To view or add a comment, sign in
-
-
Ever needed to check what's coming next in a buffer without consuming it? 🤔 Before Go 1.26, you had to read data into a temporary slice or maintain complex cursor logic. Go 1.26 introduces Buffer.Peek(n) → returns next n bytes without advancing buffer position → perfect for protocols, parsers, and stream processing → eliminates unnecessary allocations. Traditional approach required copying or manual tracking: → Read bytes, store cursor, seek back if not needed → Creates temporary slices and extra memory overhead → Adds complexity to parsing logic With Peek(), you get clean, efficient inspection: → Peek at upcoming bytes, decide what to do next → If you need them, call Read; if not, just continue → Zero allocation for the peek operation itself Which parsing scenarios would benefit most from Buffer.Peek()? #GoLang #Go126 #ProgrammingTips #DeveloperTools #StreamProcessing
To view or add a comment, sign in
-
Explore related topics
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development