🚀 DSA Challenge – Multiple Pointers Pattern 💡 Problem Given a sorted array and a target average, determine if there exists a pair whose average equals the target. 🔍 Examples averagePair([1,2,3], 2.5) ➝ true averagePair([1,3,3,5,6,7,10,12,19], 8) ➝ true averagePair([], 4) ➝ false ⚡ Approach • Initialize two pointers → one at the start, one at the end • Calculate the average of the two values • Move pointers based on comparison with the target • Achieve O(N) time and O(1) space complexity 🧠 Key Learning Instead of checking all possible pairs (O(N²)), leveraging the sorted nature of the array with the two-pointer technique makes the solution highly efficient. 🔥 Consistency is key — showing up daily to improve problem-solving skills and build stronger fundamentals. 👉 How would you approach this problem? Any edge cases or optimizations you’d consider? 🔗 GitHub: https://lnkd.in/gurx_UXW #DSA #JavaScript #CodingChallenge #100DaysOfCode #ProblemSolving #FrontendDeveloper #FullStackDeveloper #LearningInPublic #TechJourney
DSA Challenge: Average Pair in Sorted Array
More Relevant Posts
-
🚀 Day 10/100 – #100DaysOfDSA Double digits! 🎯 Today was all about mastering Linked List traversal and pointer manipulation. 🔹 Problems Solved: 1. Middle of the Linked List 2. Reverse Linked List 💡 Key Learnings: 👉 Problem 1: Middle of the Linked List Used Two Pointer Technique (Slow & Fast pointers) Slow moves 1 step, Fast moves 2 steps When fast reaches end → slow is at the middle ✅ O(n) Time ✅ O(1) Space ✅ Efficient single-pass solution 👉 Problem 2: Reverse Linked List Iterative approach using three pointers: prev, current, next Reverse links one by one 👉 Core Idea: Change direction of next pointer at each step ✅ O(n) Time ✅ O(1) Space 🔥 What I learned today: Linked Lists are all about pointer control — once you master that, many problems become easier. The slow & fast pointer technique is 🔥 — super useful pattern! Day 10 done ✅ Staying consistent 💪 #100DaysOfCode #DSA #LinkedList #ProblemSolving #CodingJourney #JavaScript #TechGrowth #SoftwareEngineer #LearningInPublic #Developers
To view or add a comment, sign in
-
𝐓𝐡𝐞 𝐜𝐚𝐥𝐥 𝐬𝐭𝐚𝐜𝐤 𝐡𝐚𝐬 𝐧𝐨 𝐩𝐚𝐭𝐢𝐞𝐧𝐜𝐞. 𝐈𝐭 𝐞𝐱𝐞𝐜𝐮𝐭𝐞𝐬 𝐞𝐯𝐞𝐫𝐲𝐭𝐡𝐢𝐧𝐠 — 𝐢𝐧𝐬𝐭𝐚𝐧𝐭𝐥𝐲, 𝐫𝐮𝐭𝐡𝐥𝐞𝐬𝐬𝐥𝐲, 𝐢𝐧 𝐨𝐫𝐝𝐞𝐫. So what happens when you need a 𝐝𝐞𝐥𝐚𝐲? That's where I hit a wall. If JavaScript is single-threaded and the call stack never pauses — how does '𝐬𝐞𝐭𝐓𝐢𝐦𝐞𝐨𝐮𝐭' even work? Turns out, it doesn't live in JavaScript at all. 𝐖𝐞𝐛 𝐀𝐏𝐈𝐬 — 𝐬𝐞𝐭𝐓𝐢𝐦𝐞𝐨𝐮𝐭, 𝐟𝐞𝐭𝐜𝐡( ), 𝐃𝐎𝐌 𝐞𝐯𝐞𝐧𝐭𝐬, 𝐥𝐨𝐜𝐚𝐥𝐒𝐭𝐨𝐫𝐚𝐠𝐞 — are gifts from the browser, not the language. The browser quietly hands them off, runs them in the background, then places the result into a 𝐂𝐚𝐥𝐥𝐛𝐚𝐜𝐤 𝐐𝐮𝐞𝐮𝐞 . And here's the elegant part: The 𝐄𝐯𝐞𝐧𝐭 𝐋𝐨𝐨𝐩 sits there, watching. The moment the call stack is empty, it picks up the waiting callback functions and pushes it in. That's it. No magic. Just a disciplined handoff between three moving parts. JavaScript doesn't wait — but the browser builds the patience "around" it. 𝐓𝐚𝐤𝐞𝐚𝐰𝐚𝐲𝐬 : → 𝐓𝐡𝐞 𝐜𝐚𝐥𝐥 𝐬𝐭𝐚𝐜𝐤 𝐞𝐱𝐞𝐜𝐮𝐭𝐞𝐬 𝐟𝐚𝐬𝐭. 𝐍𝐞𝐯𝐞𝐫 𝐚𝐬𝐬𝐮𝐦𝐞 𝐢𝐭 𝐰𝐚𝐢𝐭𝐬. → 𝐖𝐞𝐛 𝐀𝐏𝐈𝐬 𝐚𝐫𝐞 𝐛𝐫𝐨𝐰𝐬𝐞𝐫-𝐩𝐨𝐰𝐞𝐫𝐞𝐝, 𝐚𝐜𝐜𝐞𝐬𝐬𝐞𝐝 𝐯𝐢𝐚 𝐭𝐡𝐞 𝐠𝐥𝐨𝐛𝐚𝐥 "𝐰𝐢𝐧𝐝𝐨𝐰" 𝐨𝐛𝐣𝐞𝐜𝐭. → 𝐓𝐡𝐞 𝐞𝐯𝐞𝐧𝐭 𝐥𝐨𝐨𝐩 𝐨𝐧𝐥𝐲 𝐚𝐜𝐭𝐬 𝐰𝐡𝐞𝐧 𝐭𝐡𝐞 𝐜𝐚𝐥𝐥 𝐬𝐭𝐚𝐜𝐤 𝐢𝐬 𝐜𝐥𝐞𝐚𝐫. #JavaScript #SoftwareEngineering #DeveloperJourney #LearningInPublic #Programming #TechCommunity #WebDevelopment
To view or add a comment, sign in
-
-
JavaScript array methods visualized with Pokémon. I’ve been experimenting with short visual loops using Claude Code and Remotion to explain concepts faster and this one shows some of the most common array methods in practice. Quick reference using real behavior: • filter() selects matching items • map() transforms items • find() returns the first match • findIndex() returns the index of the match • fill() replaces values • every() checks all items • some() checks at least one • concat() merges arrays • includes() checks existence • push() adds to the end • pop() removes from the end • shift() removes from the start • unshift() adds to the start • splice() removes or replaces items Same concepts, just easier to visualize. #javascript #webdev #frontend #coding #programming
To view or add a comment, sign in
-
🚀 JavaScript Practice – Core Logic Building Worked on some important problems without using built-in methods: 🔹 String → Number (without parseInt) using ASCII 🔹 Number → String (manual + template + coercion) 🔹 Count character occurrences ("hello world" → "l" = 3) 🔹 Check if string contains only digits (Regex + ASCII) 💡 Key Learnings: 🔹digit = digit * 10 + (ascii - 48) 🔹Inside range → &&, Outside range → || 🔹digit + str helps maintain correct order 🔥 Strengthening fundamentals and improving problem-solving step by step. #JavaScript #Coding #ProblemSolving #FrontendDevelopment #Learning
To view or add a comment, sign in
-
🚀 Debouncing in JavaScript Ever wondered why search bars don’t hit the API on every keystroke? 🤔 Here’s the trick developers use 👇 🧠 What is Debouncing? 👉 It delays the execution of a function 👉 Until a certain time has passed after the last event ⚡ Without Debounce: ❌ Every keystroke → API call 😵 Too many requests 🐌 Poor performance ✅ With Debounce: 👉 Wait for the user to stop typing 👉 Then call API once 🚀 Smooth & optimized 💡 Real-life use cases: ✔ Search inputs (autocomplete) ✔ Window resize / scroll events ✔ Button clicks 🔥 Key Understanding: 👉 Rapid events are grouped into one 👉 Improves performance & reduces API load 💡 One line to remember: 👉 “Debounce waits for silence before running” 💬 Where have you used debounce? 📌 Save this for interviews (very important concept) #javascript #webdevelopment #frontend #coding #programming #javascriptdeveloper #learncoding #developers #100DaysOfCode
To view or add a comment, sign in
-
-
I used to think I lacked motivation to code consistently. Turns out I was wrong about what the real problem was. 👇 Atomic Habits dropped this today: "Environment is the invisible hand that shapes human behavior." A study found that 91% of people who wrote down exactly when and where they would exercise actually followed through. Not because they were more motivated. Because their environment made it obvious. So I looked at my own setup and made one change. My desk is now only for coding. Phone goes across the room. VS Code opens the moment I sit down. The chair itself became the cue. 🪑💻 One space. One use. Today that space produced: Deep dive into the DOM. How browsers turn a webpage into a tree of objects. Selecting elements, manipulating attributes, creating and removing elements dynamically, updating styles using classList. Here's what clicked for me today 👇 React doesn't do anything magical. It's just doing this DOM manipulation automatically. Understanding it manually means I actually know what's happening under the hood when React updates the UI. That's the difference between using a tool and understanding it. 🔧 Solved 3 DSA problems alongside.🧑💻 Day 5 of showing up publicly. 🚀 #100DaysOfCode #JavaScript #DSA #LearningInPublic #SoftwareEngineering
To view or add a comment, sign in
-
🚀 JavaScript Essentials — closures, Math operators & recursion, but make it real Step by step, I’m building stronger JavaScript fundamentals through practice. In this homework, I worked on topics that are simple in theory, but much more interesting when you actually implement them yourself: ● Closures & state management ● Recursive functions ● Math methods and function binding with apply() / bind() 🛠 What I built in practice: ● counter() — a closure-based counter that remembers its state and can restart from any given number ● counterFactory() — a small counter object with .value(), .increment(), and .decrement() built with closures ● myPow(a, b, myPrint) — a recursive power function with a callback for formatted output ● myMax(arr) — finding the maximum value in an array using Math.max.apply() ● myMul(a, b) + myDouble() / myTriple() — reusing logic with bind() This task helped me better understand how JavaScript works with scope, closures, recursion, and reusable functional patterns. What I like about this kind of practice is that it turns abstract concepts into something tangible. Not just “I read it” — but “I built it, tested it, and now I actually get it.” 🔗 GitHub: https://lnkd.in/dHTBr-h3 Always learning. Always building. One function at a time 💻 "Coding like Zagreus: dying, retrying, and somehow making progress. ⚔️💻" #JavaScript #LearningByDoing #Closures #Recursion #MathOperators #FunctionalProgramming #Frontend #CodingJourney #WebDevelopment
To view or add a comment, sign in
-
-
JavaScript debounce vs throttle, visualized. Both are used to control how often a function runs in response to rapid events like typing, scrolling, or resizing, but they behave in very different ways. Debounce waits until the activity stops before firing, which makes it a great fit for things like search inputs or autocomplete. Throttle, on the other hand, keeps firing at controlled intervals while the activity is still happening, which makes it useful for scroll, resize, or continuous UI updates. In the example, I used Lodash’s debounce and throttle to represent that behavior in code. I used Codex + Remotion skill for this one, and it was interesting to compare with my usual Claude Code + Remotion skill flow. I’ve been experimenting with videos created 100% with agents — from concept to visuals — and it’s been a really interesting workflow to explore. #javascript #webdev #frontend #programming #uidesign
To view or add a comment, sign in
-
🚀 Functions Deep Dive Today I didn’t just “learn functions”… I understood how JavaScript actually thinks. Here’s what I explored 👇 🔹 What is a Function A reusable block of code that makes programs cleaner and smarter. 🔹 Function Parameters & Arguments Turning static code into dynamic logic. 🔹 Arrow Functions (ES6) Cleaner syntax, less code, more power. 🔹 Default Parameters Handling missing inputs like a pro. 🔹 First-Class Functions 🔥 This changed everything for me: Functions in JavaScript are treated like values. ✔️ Stored in variables ✔️ Passed as arguments ✔️ Returned from other functions This is the foundation of: ➡️ Callbacks ➡️ Async JavaScript ➡️ React 💡 Biggest Realization: JavaScript isn’t just a language… It’s a system where functions are the core building blocks. 🧠 What I’m focusing on: • Strong fundamentals over shortcuts • Understanding > memorizing • Writing code daily 📌 Next Step: Higher-Order Functions + Real-world practice #javascript #webdevelopment #codingjourney #180daysofcode #frontenddevelopment #reactjs #programming #developers #learninpublic #softwareengineering #matadeenyadav #MatadeenYadav
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