How could this possibly be an easy problem when generating all subsets is a medium backtracking problem in itself 🤣
@tommyshelby62777 ай бұрын
cry
@NeetCodeIO7 ай бұрын
Yeah good point
@krateskim41697 ай бұрын
@@tommyshelby6277 you need not be rude, just because you are better
@nirmalgurjar81817 ай бұрын
yeah, right, it's an easy problem for only those, who knows subset problem.
@EduarteBDO7 ай бұрын
I have a theory that it's because generating all subsets is an older problem and at that time this was considered hard, but right now the expected difficult level, of easy, medium and hard questions are increasing.
@grantpeterson25247 ай бұрын
I (somehow) managed to deduce the mathematical OR solution by myself without seeing it, and I gotta say, I'm pretty damn proud of myself
@DanielGarza277 ай бұрын
Thank you for making this! Super helpful as these problems are quite tricky and I want to start leetcoding a bit every day.
@leo87555 ай бұрын
This is a cool problem and solution! You have a small calculation error around 14:39, it should be 28 like you calculated right after.
@ritikaagrawal7697 ай бұрын
the person who assigns difficulty level on leetcoode is probably high all the time.
@AGENT-gw4vd7 ай бұрын
Explaination was nice
@m.kamalali7 ай бұрын
Wow, Amazingly explained!!
@deadlyecho7 ай бұрын
Just build a truth table and you will understand the last solution... this will help in getting why the 50% percent ratio still the same even if we added a number with a one bit in the position we are looking at....
@MP-ny3ep7 ай бұрын
Great explanation. Thank you
@Komedy1Reels7 ай бұрын
hence subscribed to your channel
@RahulJain-kk5no7 ай бұрын
How can I handle nervousness and anxiety during an interview? I messed up my last interview due to this, even though the questions that were asked weren't that difficult.
@juanmacias59227 ай бұрын
I have very limited interview experience, but I'd suggest mock interviews, talking out your solution while you are doing Leetcode problems on your own. And only start coding once you have an algo, or solution. I like to write out the inputs, output requested, what my solution is, and before I start coding, I'll comment the whole solution out (pseudocode), then it's just a matter of writing the code under said comments. In cross country running circles there's a quote "the hay is in the barn", which basically means you worked your ass off, you just need to trust in the training, and perform. Edit: also work on asking interviewers clarifying questions, even if it seems obvious, or trivial, and always go for the naive solution first, unless the more optimal solution comes to you right away, but I'd also explain that to them "the brute force is", but "I believe because of" "this approach will be better". It's all about communicating your intent. Also, it might be beneficial to mention the time/space complexity with your solution.
@anonymous109067 ай бұрын
Best
@sophiophile7 ай бұрын
Just practice. Most of us have been there. Apply for jobs that you don't care about getting. Ask a friend to do a mock with you (but provide them the q without knowing the solution- I have asked people in the past and they have tried 'making up' questions, and ended up asking something that goes beyond hard, lol).
@SC2Edu7 ай бұрын
Awesome explanation
@ish909177 ай бұрын
Why did we not use memoisation in the backtracking solution ?
@NeetCodeIO7 ай бұрын
there's not necessarily any repeated sub problems, every subset could be different
@krateskim41697 ай бұрын
Thank you so much
@nirmalgurjar81817 ай бұрын
Thank you neetcode, was able to come up with first solution. was wondering any trick to introduce caching but since there are 2^n different possibilities so caching won't be helpful but still i have this doubt in my mind, is there any way we can introduce caching?
@koreandude7 ай бұрын
will you have any promotions for the pro course for memorial day? struggling wannabe engineer here.
@licokr7 ай бұрын
Wow, it's crazy huh. I couldn't believe it the problem is an easy problem. it's worth it solving the problem though, I think that would be enough knowing how to work the recursive solution. var subsetXORSum = function(nums) { let answer = 0; const b = (initialNums, choices) => { let xor = 0; for (let i = 0; i < initialNums.length; i++) { xor ^= initialNums[i]; } answer += xor; while (choices.length > 0) { b(initialNums.concat(choices.shift()), [...choices]); } } b([],nums); return answer; }; This is my solution, which is less efficient than the solution shown up in this video. It get rid of an element from the list the func gets then will pass the new array. I think the solution you introduced in the video has a point to understand how recursive works. Thanks for the video! 👍 --- ps I think why it's a bit hard to understand the solution is because the concept of passing by value, the total. In the case where nums is [5, 1, 6]. dfs(i + 1, total ^ nums[i]) i == 4 -> returns 0 0 ^ 6 + 0 ^ 1 + 0 ^ 5 + 0 (0 ^ 1) + (0 ^ 1) ^ 6 + 0 (0 ^ 5) + (0 ^ 5) ^ 1 + (0 ^ 5) ^ 6 + 0 (0 ^ 5 ^ 1) + 0
@mohanedomer90817 ай бұрын
yo bro thx
@EduarteBDO7 ай бұрын
I'm bad at math and bad at bit manipulation, now lc are fusing both with these questions.
@michael._.7 ай бұрын
ngl but this bit manipulation method was pretty damn "creative"
@dimensionalcookie7 ай бұрын
Have you ever worked with AI project in big tech yet?
@MohanRam-mq2pk7 ай бұрын
me findind difficult to understand O(2^n) itself 😭
@brenocabral59247 ай бұрын
Why does the LeetCode logo look like a fancy way to pick a toothpick?
@freykong6 ай бұрын
The optimal solution is 👻👻👻
@deathbombs7 ай бұрын
Correction- we hate math AND bit manipulation!
@MichaBalcerak7 ай бұрын
I am too dumb for coding
@pastori26727 ай бұрын
i did NOT understand this its ok tho who would expect you to come up with this