Today I received the 100 Days Badge on LeetCode. This is awarded when you have successfully solved LC problems for more than 100 days in a year, not necessarily daily. While this might seem a good thing and I think it is, it also tells I have not been entirely consistent in 2024. Today is day 192 of the 366 days in this year and so I received this roughly 3 months later than I should have. I feel if you are in tech industry, you should be solving DSA problems daily. LeetCode is a good option but there are many places. Doing DSA problems at the last moment, just before interviews is inefficient and takes time to catch up, revise things, avoid silly errors and solve fast. So solving one problem daily seems like a wise thing to do. I used to think that the more senior I will grow in my career, the less DSA interviews I will need to give. However, now I've realized that most companies have at least 1 and often 2 DSA rounds and the difficulty of problems has increased from Easy - Medium to Medium - Hard 🙃 So while people keep debating whether LC problems and DSA rounds are good measure or not for technical interviews, I will suggest embrace the reality and adapt to it by solving at least one problem daily. Ideally also give the LC Contest at least every Saturday (biweekly) if not weekly on Sundays. You can't go to a DSA round and preach how inefficient the process is or how the DSA round is not a good way to measure candidate's skills for the role. No. You go there and implement the optimized solution after suggesting multiple approaches in limited time. You write bug free code that handles multiple edge cases and do it in short time. You impress the interviewer with your knowledge and skills. All this is possible only with good practice. So keep LeetCoding. #LeetCode #Programming #TechnicalInterviews #ProblemSolving #DSA #DataStructures #Algorithms
Alok Sharma’s Post
More Relevant Posts
-
In today’s time, l find DSA rounds to be the most ineffective ways to evaluate candidates for problem-solving skills, data structures, and algorithmic logic abilities. You can’t evaluate these skills by giving a problem to solve which they(candidates) already have practiced with the same and similar problems over months via platforms like leetcode and via training from many online/offline institutions. I have seen candidates giving solutions to a direct leetcode-like problem which they have seen in like 3 mins but if you give a slight variation of the same problem in a verbal real-world situation they can’t solve it in an hour. I understand for quick elimination and filter it is a very easy round to conduct. But it can’t guarantee good problem-solving and algorithmic logical ability skills. It’s high time that the industry switches to pair programming rounds which many companies are already doing very successfully. - Evaluate how the candidate is writing code. - How good is he/she at collaboration? - Try to understand how they design classes. - Can they implement basic principles of design and coding? - How well can they communicate and share? #leetcode #codinginterviews
To view or add a comment, sign in
-
"Years of experience" is almost as bad a measure of skill as a degree. Two of the absolute best developers I've known never took a single college class. One of those two merited the label "best" when she had a single year of experience. Employers need to reassess how they determine if a person is qualified. Asking questions to see how a potential employee thinks is a good way. Having a developer work through a question based on any of the examples in wtfjs is a really good approach. Another is just to create an idea for an application and ask how they'd approach it from a high level. These sorts of questions aren't about them getting it "right" or agreeing with you, they're about sussing out if the potential employee knows the concepts. (Please note that observed coding exams where the testee can't use any resources are also really bad. No one works without resources. You *cannot* find a developer who doesn't consult coworkers, Stackoverflow, or use an AI to assist. That's just how programming is *done*. And so you know, this is not a profession specific problem. Other careers have their own ridiculous hang-ups too. https://lnkd.in/gS2TYZHP
To view or add a comment, sign in
-
-
🎉 Day 18 of My 100-Day Coding Journey Today, I cracked the Relative Ranking problem on LeetCode, leveraging the efficiency of priority queues to achieve optimal results. I couldn't help but marvel at the versatility of priority queues and their real-world applications. In coding challenges, priority queues shine when we need to efficiently manage elements based on their priority or value. They ensure that the element with the highest (or lowest) priority is always at the forefront, allowing for quick retrieval and manipulation. But beyond the realm of coding platforms, priority queues find usage in various practical scenarios: 1. Job Scheduling: In operating systems, priority queues are used to schedule tasks based on their priority levels. Tasks with higher priority are executed first, ensuring that critical operations are handled promptly. 2. Dijkstra's Algorithm: Priority queues play a pivotal role in Dijkstra's algorithm, a widely used algorithm for finding the shortest paths in a graph. They facilitate the efficient selection of vertices with the shortest known distance during traversal. 3. Task Management: Task management applications often utilize priority queues to organize and prioritize tasks. Users can assign different priority levels to tasks, ensuring that urgent tasks are completed first. 4. Network Routing: In network routing protocols like OSPF (Open Shortest Path First), priority queues are employed to manage routing information. They help routers prioritize routes based on metrics such as cost or reliability. 5. Emergency Room Triage: In healthcare settings, priority queues are used in emergency room triage to prioritize patient care. Patients with life-threatening conditions are given higher priority for immediate attention. Today's journey not only reinforced my understanding of priority queues in coding challenges but also illuminated their significance in real-world applications. As I continue to explore the depths of data structures and algorithms, I'm excited to uncover more insights that bridge theory with practicality. Try It yourself! (https://lnkd.in/g7QtC_tC) Here's to the power of priority queues, both in coding conquests and real-world scenarios! 🚀 #100DaysOfCode #PriorityQueue #RealWorldApplications
To view or add a comment, sign in
-
🚀 Day 52 of the Blind 75 LeetCode Journey! 🚀 Hey LinkedIn fam! 👋 I'm thrilled to share my coding journey progress. 🤓 Today marks Day 52 of the Blind 75 LeetCode Challenge, and I'm diving into some intriguing coding problems. 💡 🔗 LeetCode Challenge : https://lnkd.in/gRBb8gRK 🚧 Problem Statement: Course Schedule Input: numCourses = 2, prerequisites = [[1,0]] Output: true Explanation: There are a total of 2 courses to take. To take course 1 you should have finished course 0. So it is possible. 💻 Solution Code: class Solution { public: class Solution { public: bool topologicalSortCheck(unordered_map<int, vector<int>> &adj, int n, vector<int> &indegree) { queue<int> que; int count = 0; for(int i = 0; i<n; i++) { if(indegree[i] == 0) { count++; que.push(i); } } while(!que.empty()) { int u = que.front(); que.pop(); for(int &v : adj[u]) { indegree[v]--; if(indegree[v] == 0) { count++; que.push(v); } } } if(count == n) return true; return false; } bool canFinish(int numCourses, vector<vector<int>>& prerequisites) { unordered_map<int, vector<int>> adj; vector<int> indegree(numCourses, 0); for(auto &vec : prerequisites) { int a = vec[0]; int b = vec[1]; adj[b].push_back(a); indegree[a]++; } return topologicalSortCheck(adj, numCourses, indegree); } }; I appreciate all the support and encouragement from this amazing community. Let's keep coding, learning, and growing together! 🌱💻 Ayyaz Ahmad Kashinath Tiwari Riya Kumari #CodingJourney #LeetCode #Programming #CodingChallenge #75daysofcode 🙌 Thanks for Joining Me on This Journey!
Course Schedule - LeetCode
leetcode.com
To view or add a comment, sign in
-
Whether you're a seasoned pro or a coding newbie, mastering these 14 patterns can be your secret weapon to crushing those coding interviews. From two pointers to sliding windows, this article dives deep into effective problem-solving strategies that'll have you tackling even the trickiest questions with confidence. 💪 1. Sliding Window 🪟 Imagine a window sliding across an array, analyzing data as it goes. This pattern is perfect for problems like finding the maximum sum of subarrays or counting occurrences of a substring. 2. Two Pointers 👬 Two pointers, one starting at each end of an array or list, can meet in the middle to solve problems like finding the intersection of two sorted arrays or checking if a linked list has a cycle. 3. Fast and Slow Pointers 🏃♀️💨 Similar to two pointers, but with one moving faster than the other, this pattern is useful for detecting cycles in linked lists or finding the starting point of a loop. These are just a few of the 14 patterns covered in the article. 🚀 Each one unlocks a new way to approach coding challenges, making you a more versatile and efficient problem solver. So, next time you're facing a coding interview, remember these patterns and watch your confidence soar! 🙌 https://lnkd.in/dRYywbmB #coding #algorithms #interviewtips #softwareengineering #career #devlife #holidayseason #christmas #flymsg
To view or add a comment, sign in
-
To be a good software engineer is to be able to solve problems, that’s where Data Structures and Algorithms come into play. You need to be good at solving DSA problems because that tests out your ability of problem-solving in interviews and in your job role. We will discuss the steps you should follow in order to solve DSA problems effectively so that you can adapt to this methodology of efficiently tackling every DSA question that comes your way. Read Here - https://lnkd.in/dCk-M-Az #datastructures #algorithms #dsa #programmingtips #coding #technology
How to Effectively Solve DSA Problems?
https://pypixel.com
To view or add a comment, sign in
-
Incoming CS Grad @ Virginia Tech | Software Engineer @ TRAY | Ex-Amazon | Algorithms, AWS, REST APIs, OOP
🚀 LeetCode Daily Problem Explanation for June 18th! 🚀 -- These are my accepted solutions; I welcome any feedback or optimizations in the comments! -- 💡 I'm tackling a problem today that involves maximizing profits by assigning workers to jobs based on their abilities. If you have insights on how to optimize this solution further, I'd love to hear from you! 🙂 🔍 Problem: You have n jobs and m workers. Given arrays for job difficulties, profits, and worker abilities, the task is to assign each worker a job such that they maximize the total profit. Each worker can only handle jobs with difficulties up to their ability. Example: Input: Difficulty = [2,4,6,8,10] Profit = [10,20,30,40,50] Workers = [4,5,6,7] Output: 100 Explanation: Workers can be assigned jobs like [4,4,6,6] with corresponding profits [20,20,30,30] respectively. 🔮 Intuition: To solve this, we sort jobs by difficulty and use a dynamic approach to track maximum profits achievable up to each difficulty level. We then assign jobs to workers based on their abilities using binary search for efficiency. 🛠️ Approach: Sort and Pair: Pair each job's difficulty with its profit and sort based on difficulty. Track Maximum Profits: Iterate through sorted jobs to track maximum profits achievable up to each job's difficulty. Binary Search: For each worker, find the highest difficulty job they can handle efficiently using binary search. 📈 Complexity: Time complexity: O((N + M) log N), where N is the number of jobs and M is the number of workers, due to sorting and binary search. Space complexity: O(N), for storing job pairs. Quick Tip : You should have good hands on with c++ STL to solve these types of questions. -- Follow Kashyap Kale for more daily code explanations! 🌟 -- #LeetCode #Coding #Programming #Algorithm #ProblemSolving #Tech #Developer #CodeNewbie #100DaysOfCode #Interviews #DSA #SDE #TechLife #CodeChallenges #TechTips 💻🔥
To view or add a comment, sign in
-
-
Yesterday I wrote a post about how medium-side software companies are shooting themselves in the foot by insisting on doing #Leetcode style #DSA questions during the technical interviews. But this doesn't mean that I am telling software developers not to practice #algorithms. On the contrary, practicing algorithms will almost guarantee to enhance your skills and your career. I wrote the following article to explain why: https://lnkd.in/g2xweq8f #softwaredevelopment
Why studying algorithms will enhance your programming career - Scientific Programmer
https://scientificprogrammer.net
To view or add a comment, sign in
-
Want to start Data Structures or Leetcode but don't know where to start? Feeling overwhelmed? Then this video is for you. 95% of people who want to start Leetcoding waste their time to find the perfect YouTube playlist or end up opening a random problem and get frustrated when they cannot solve the problem. Similar Feelings? If this scenario resonates with you, take comfort in the fact that you're not alone. Simply possessing knowledge about data structures doesn't guarantee successful problem-solving. There is a pattern to solve these kinds of problems and first you need to learn the pattern to solve these problems. How to do it? First make up your mind that you cannot JUST solve any problem, you have to watch a video on how to solve that problem first. Lets say if you just learned about Arrays so you're gonna be watching 15-20 YouTube videos and get the idea on how to solve the problems. Because you see, these problems are divided into categories of different patterns which you can only know once you invest your time in it. Don't know which chart to follow or which problems to solve? https://lnkd.in/duvsFvgt Here is a sheet by DSA College you can follow, which has all Data structures problems which are asked in companies like FAANG and are rated from easy to hard level. You can solve the problems one by one and watch YouTube videos on some of them and then do a problem or two on your own. That's how you will get the idea of the patterns to solve a problem. And I am sure once you solve this chart, you will be fully prepared to solve any Leetcode problem and Ace your interview! Best of luck and if you like this post please repost it so other people who are struggling about DSA can know about it too. Tip💡 : After every problem you solve make a pseudocode for solving that problem in your own words because when you actually have an interview and you start revision, sometimes you forget the approach to solve the problem. So you can open up your notes and remember the approach, trust me it really helps! #datastructures #leetcode #programmingjourney #codingskills #techeducation #careergrowth #softwareengineering #interviewprep #problemsolving #codingtips #techcommunity #linkedinlearning #developerlife #faang #csstudents #codingbootcamp #algorithmicthinking #careerdevelopment #techtips
To view or add a comment, sign in
More from this author
-
Thoughts from Thirty Three Thousand Feet in the Air - A Blip of Existence
Alok Sharma 1y -
11 Ways to Reclaim your Focus, Time, Awareness and Do Deep Work through Digital Minimalism (Digital Detox)
Alok Sharma 2y -
Top 10 Qualities of Mahatma Gandhi and How To Incorporate Them In Your Life
Alok Sharma 7y