Sum of Two Integers - Leetcode 371 - Java

Ғылым және технология

🚀 neetcode.io/ - A better way to prepare for Coding Interviews
🐦 Twitter: / neetcode1
🥷 Discord: / discord
🐮 Support the channel: / neetcode
✔️ SPREADSHEET BLIND-75: docs.google.com/spreadsheets/...
⭐ BLIND-75 PLAYLIST: • Two Sum - Leetcode 1 -...
💡 CODING SOLUTIONS: • Coding Interview Solut...
💡 DYNAMIC PROGRAMMING PLAYLIST: • House Robber - Leetco...
🌲 TREE PLAYLIST: • Invert Binary Tree - D...
💡 GRAPH PLAYLIST: • Course Schedule - Grap...
💡 BACKTRACKING PLAYLIST: • Word Search - Backtrac...
💡 LINKED LIST PLAYLIST: • Reverse Linked List - ...
💡 BINARY SEARCH PLAYLIST: • Binary Search
📚 STACK PLAYLIST: • Stack Problems
Problem Link: neetcode.io/problems/sum-of-t...
0:00 - Read the problem
1:40 - Drawing Explanation
9:47 - Coding Explanation
leetcode 371
This question was identified as a microsoft interview question from here: github.com/xizhengszhang/Leet...
#microsoft #interview #java
Disclosure: Some of the links above may be affiliate links, from which I may earn a small commission.

Пікірлер: 173

  • @NeetCode
    @NeetCode2 жыл бұрын

    ok fine, I will compromise and start doing my videos in C 😉

  • @mama1990ish

    @mama1990ish

    2 жыл бұрын

    No please use python going forward. I religiously follow all your videos :) both for the explanation and because I like coding in python.

  • @ShivamJha00

    @ShivamJha00

    2 жыл бұрын

    Why would you torture yourself like that

  • @dataman4503

    @dataman4503

    2 жыл бұрын

    may be just pseudo code. lol

  • @maxmarkensten8841

    @maxmarkensten8841

    2 жыл бұрын

    I'd still watch :D

  • @johns3641

    @johns3641

    2 жыл бұрын

    Love that you completed all the vids for blind 75, but only use python for your codes. I have plenty of other people I could go to for C, so don't do any other language. Python only - that's your niche and why most people are here.

  • @sysy2152
    @sysy21522 жыл бұрын

    If you want to do the same thing in Python, you can use this code (and I'll explain it!): class Solution: def getSum(self, a: int, b: int) -> int: mask = 0xffffffff while b != 0: tmp = (a & b) mask // 2: return ~(a ^ mask) else: return a To explain, the hexadecimal number 0xffffffff is the same as the binary number 0b1111111111111111111111111111111, containing 32 1's. (It's just easier to type lol.) In order to make the code work like Java, we want to treat our numbers like they only have 32 bits. ANDing a number with the mask 0xffffffff, or 32 1's, basically turns all of a number's bits into 0's except for the rightmost 32. As a result, the number can be represented as if it only has 32 bits. We do what Neetcode describes in his video, using XOR for the sum and AND for the carry. We AND with the mask each time we set a and b in order to keep our numbers within 32 bits. After we exit the while loop, we have our answer a. If a is positive, then we can return it directly. However, in Python, negative numbers are represented in binary as having an unlimited number of leading 1's. The current answer would only have values in the rightmost 32 bits. Therefore, if the answer is negative, we need to convert it into Python's representation of negative numbers. First, we need to check if the answer is negative. We cannot just check to see if the answer is less than zero because our representation of the answer is not the same as Python's (since Python's have unlimited leading 1's). We are still treating our answer as if it only fits into 32 bits. A 32-bit signed integer is positive if the 32nd bit is a 0 and is negative if the 32nd bit is a 1. If we divide our mask (0xffffffff) by 2, we will get the binary number 0b0111111111111111111111111111111, which has 31 1's. This number is the greatest value we can have before the 32nd bit becomes a 1. Therefore, if our answer a > mask // 2, it is negative. Otherwise, it is positive and we can just return a itself. If the number is negative, we then need to convert it into Python's representation of negative numbers. To do so, we can XOR with the mask of 32 1's in order to flip the rightmost 32 bits, since XORing a bit with 1 flips the bit. We can then NOT the number in order to turn all of the leading 0's into 1's. For example, say that the answer is -3, and (....0000000) or (....1111111) denote leading 0's or 1's until the 32nd bit: Our representation of -3 in 32 bits: (...0000000)11111111111111111111111111111101 XOR with mask, aka flip rightmost 32 bits: (...0000000)00000000000000000000000000000010 NOT, aka flipping all bits: (...1111111)1111111111111111111111111111101 The result is Python's representation of -3, including an unlimited number of leading 1's. Overall, the code uses the same process as Neetcode's Java code, but with masking to get numbers into 32 bits and some manipulation to get those 32-bit numbers back into Python's representation before returning.

  • @eeew2691

    @eeew2691

    2 жыл бұрын

    Man how tf do u know all this stuff. My code was failing to add -8 and -12, and here I was thinking what to do with -ve integers T_T. Having a non IT background surely makes it difficult

  • @anonymoustv8604

    @anonymoustv8604

    2 жыл бұрын

    @@eeew2691 nah, this is hard even for people with IT background :)

  • @nick_esqueda

    @nick_esqueda

    2 жыл бұрын

    thank you man, i really appreciate the in depth explanation!!! this forced me to learn a little more about python today lol, i don't ever think about how integers are stored in languages and stuff so this was kind of cool to dive into.

  • @lingzi6599

    @lingzi6599

    Жыл бұрын

    Is there a simpler solution for Python? If not, does this mean that Python is not good for handling binary operation?

  • @sysy2152

    @sysy2152

    Жыл бұрын

    @@lingzi6599 Unfortunately, since Python stores its integers in a different way than Java, all of this solution's parts are necessary. Python is as capable as any other language for handling binary operations, but in interviews (and beyond) it can be important to remember that Python represents its integers as having more than 32 bits. In many problems, remembering the bitmask of 0xffffffff can save you if you choose to use Python!

  • @thesouthsidedev1812
    @thesouthsidedev1812 Жыл бұрын

    Thanks man for this. Just finished watching all your videos on the blind 75 list, I've learnt a lot.

  • @siomarapantarotto
    @siomarapantarotto2 жыл бұрын

    Thanks so much! You were the only one capable to clear in my mind these bitwise operations handled together. The use of the variable 'tmp', explaining its reason and its location on the code really clarified everything. Congrats for this awesome tutorial. God bless you. 🥰

  • @sia1910
    @sia19102 жыл бұрын

    Please use python too in your future vids! There are many java based channels, but yours is the only good python channel that I could find

  • @gunahawk6893

    @gunahawk6893

    Жыл бұрын

    @@caaarbz so is python, with ml and ai python will become top 2 soon

  • @NK-fe3md

    @NK-fe3md

    Жыл бұрын

    @@gunahawk6893 What ?, its already the 2nd most popular only behind javascript

  • @gunahawk6893

    @gunahawk6893

    Жыл бұрын

    @@NK-fe3md thats cool tho

  • @tsunghan_yu
    @tsunghan_yu2 жыл бұрын

    9:31 Thanks for mentioning this. So that's why my python solution doesn't handle negative numbers.

  • @ayeshaadhikari6123
    @ayeshaadhikari6123 Жыл бұрын

    Thank you so much for such a clear explanation! Very helpful!

  • @akhileshsonkar2061
    @akhileshsonkar20612 жыл бұрын

    Thanks for Explanation.....this code will work in Java but not worked same in C++ with negative number 🙃For C++ code-------- int getSum(int a, int b) { while(b!=0) { unsigned int temp=(a&b); a=a^b; b=(int)(temp

  • @jayeshbhanushali1745

    @jayeshbhanushali1745

    2 жыл бұрын

    Thanks

  • @785_barneetpanda5

    @785_barneetpanda5

    2 жыл бұрын

    why dosent it directly work in C++?

  • @GauravSingh-bf7wu

    @GauravSingh-bf7wu

    2 жыл бұрын

    Thanks bro!!!

  • @narendrakumariitb
    @narendrakumariitb2 жыл бұрын

    this is more than hard question and you have explained it in more than easy way . thanks

  • @jackieli1724
    @jackieli17249 ай бұрын

    Thank you really! Your course is the best of all😃

  • @mrmcyx8283
    @mrmcyx82832 жыл бұрын

    This is fantastic. Now I can save the world without using any "+". ; )

  • @SatyaMantha
    @SatyaMantha Жыл бұрын

    I code in java. But I first come to Neetcode, listen to your explanation, go back and code in Java. My fav youtuber !

  • @msris108
    @msris1082 жыл бұрын

    Hey man love your videos, your explanation is absolutely spot on: the default int val in python is too big. For people crying about python, mask to limit int size to 32bit (0xffffffff). Don't spread hate people :) cheers class Solution: def getSum(self, a: int, b: int) -> int: mask=0xffffffff while b & mask: a, b = (a ^ b), (a & b) 0 else a

  • @mirrorinfinite5392

    @mirrorinfinite5392

    2 жыл бұрын

    hi! in what case will b be more than 0 for your return statement? dont really get the return statement and would appreciate if you could explain!

  • @ayushsrivastava3243
    @ayushsrivastava32432 жыл бұрын

    Wow! such an awesome explanation

  • @eyyo3571
    @eyyo3571 Жыл бұрын

    Is the microsoft logo at the beginning just random? Or is this problem tagged for microsoft?

  • @ilanaizelman3993
    @ilanaizelman39932 жыл бұрын

    Thanks a lot!

  • @Isha_Sethi
    @Isha_Sethi10 ай бұрын

    Helpful, thank you!

  • @daekunhan
    @daekunhan Жыл бұрын

    The best explanation EVER!

  • @anahitahassan9687
    @anahitahassan9687 Жыл бұрын

    How come if I use this solution in Python I get a Time Limit Exceeded error but it runs just fine with Java?

  • @kilyos9212
    @kilyos92122 жыл бұрын

    I prefer the Java because it’s more similar to other languages. Either way thanks for this great video

  • @biswaMastAadmi
    @biswaMastAadmi2 жыл бұрын

    Beautiful explanation

  • @ahmetturancanpolat1743
    @ahmetturancanpolat17432 жыл бұрын

    Thank man I read your code easily, I dont have a problem with java, but do you have a solution in python for negative numbers?

  • @crazyboy-gw7rk
    @crazyboy-gw7rk Жыл бұрын

    your are one of best teacher out there

  • @stith_pragya
    @stith_pragya5 ай бұрын

    Thank You So Much for this wonderful video.........🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻🙏🏻

  • @osasikemwenogieva6998
    @osasikemwenogieva6998 Жыл бұрын

    return Integer.sum(a,b); also works in a pinch! Java

  • @hehhehdummy

    @hehhehdummy

    Жыл бұрын

    ha!

  • @zg5828
    @zg58282 жыл бұрын

    Umm... I think I found out why Neet used Java. I converted it to Python but I got a time-limit exceed error. I guess Java automatically handles some of the edge cases (like when the input is a negative number ) :/ .

  • @bubbletea8793
    @bubbletea87932 жыл бұрын

    Thanks man pt. 1

  • @koushikkuruva2897
    @koushikkuruva2897 Жыл бұрын

    excellent explaination

  • @ravinders9221
    @ravinders9221 Жыл бұрын

    nice & Thank you!!

  • @karloninvestors4056
    @karloninvestors40562 жыл бұрын

    Please continue with python

  • @satyamgupta6030
    @satyamgupta6030 Жыл бұрын

    thanks neetcode

  • @ShivangiSingh-wc3gk
    @ShivangiSingh-wc3gk2 жыл бұрын

    Nice, I was making the 1and 1 case too complicated

  • @UECAshutoshKumar
    @UECAshutoshKumar Жыл бұрын

    Thank you

  • @akshaymonga
    @akshaymonga2 жыл бұрын

    man, your explanations are the best out there in youtube.

  • @U2011-n7w
    @U2011-n7w14 күн бұрын

    best explanation

  • @dorondavid4698
    @dorondavid46982 жыл бұрын

    Lol I like seeing everyone complain about this being Java...People, I'm a C++/C# programmer and I watch his Python videos. It's not hard to convert one language to another...the point of these vids is to understand the algorithm and apply it!

  • @meowmaple

    @meowmaple

    2 жыл бұрын

    Yup its not hard, but as he mentioned you can't implement the algorithm that he show in the video in python.

  • @studyaccount794

    @studyaccount794

    2 жыл бұрын

    I also code in java but I can easily understand c++/c and not to mention I'm here so I probably understand python too. It's not that difficult after some time you just start understanding them for some unknown reason (a good unknown reason).

  • @rhl_

    @rhl_

    2 жыл бұрын

    Try implementing this code in c/c++ then come back . people are complaining because he chose the easy way out of this. and didn't wrote the code in c/c++.

  • @dorondavid4698

    @dorondavid4698

    2 жыл бұрын

    @@rhl_ What lol C++ was MADE for bit-shifting Do you even know how C++ works?

  • @rhl_

    @rhl_

    2 жыл бұрын

    @@dorondavid4698 ayyo never said cpp wasn't made for bit masking. Handling -ve number during bit operation is difficult in CPP. If u r so confident in ur coding skills , convert the code to CPP and run it for -ve number 👀.

  • @johns3641
    @johns36412 жыл бұрын

    @NeetCode, can you please post the python solution? I tried converting your C solution to python but got a time limit exceeded error :(

  • @ssshukla26

    @ssshukla26

    2 жыл бұрын

    There was a good reason to do this solution in java...

  • @katearcher8881

    @katearcher8881

    2 жыл бұрын

    def getSum(self, a: int, b: int) -> int: mask = 0xFFFFFFFF while b != 0: tmp = (a & b)

  • @johns3641

    @johns3641

    2 жыл бұрын

    @@katearcher8881 Thanks!!

  • @johns3641

    @johns3641

    2 жыл бұрын

    @@katearcher8881 Thanks! Never would've guessed this. Wow.

  • @sonnywerb
    @sonnywerb2 жыл бұрын

    java content from neetcode yes please

  • @UKMatt32
    @UKMatt32 Жыл бұрын

    Is it cheeky to just create list = [a, b] and then return sum(list)? (It worked as a solution)

  • @jaslinkaur645
    @jaslinkaur6452 жыл бұрын

    can you explain why Python is not ideal for solving this binary question? Loved your logical approach and explanation in this video

  • @eyyo3571

    @eyyo3571

    Жыл бұрын

    I tried implementing the same method in python. Doesnt work for -ve numbers. The guy explain it at 9:31

  • @prabinlamsal74

    @prabinlamsal74

    11 ай бұрын

    Yeah, his logical approach rather than an emotional approach is quite good . lol.

  • @GauravSingh-bf7wu
    @GauravSingh-bf7wu2 жыл бұрын

    Great explaination, but it doesn't work in C++. need additional change. See below comment of Akhilesh Sonkar for the solution

  • @alonebeast5310
    @alonebeast53102 жыл бұрын

    thanks buddy

  • @TheLustz
    @TheLustz2 жыл бұрын

    whats funny is that before he made the temp variable, the code subtracts b from a like this: def getSum(a, b): while b != 0: a = a^b b = (a&b)

  • @madhurjajoo9404
    @madhurjajoo94042 жыл бұрын

    You actually listened and coded in java🥺 Thanks man. Also I see so many requests to stick to python I hope you do what you feel right I am okay with any of the language because your explanation does the work for me💯

  • @zr60

    @zr60

    2 жыл бұрын

    He used Java because it's difficult to solve in Python LOL

  • @hamzamahmood8980
    @hamzamahmood89802 жыл бұрын

    my solution in python, use log instead of binary: def getSum(self, a: int, b: int) -> int: # check one is zero and other is positive if min(a,b) == 0: return max(a,b) # if one is zero and other is negative if max(a,b) == 0: return min(a,b) # use property of ln, ln e^x = x x = math.e**a y = math.e**b z = x*y return int(math.log(z))

  • @Eggleweb97
    @Eggleweb97 Жыл бұрын

    class Solution: def getSum(self, a: int, b: int) -> int: return sum([a,b])

  • @namoan1216
    @namoan12162 жыл бұрын

    why python give time limit exceeded?

  • @namoan1216
    @namoan12162 жыл бұрын

    this problem is crazy

  • @LamNguyen-nm1id
    @LamNguyen-nm1id Жыл бұрын

    for what it's worth, the problem itself should be hard, not because it's harder than the actual hard problem, but it's not medium either

  • @cuteangel1726
    @cuteangel1726 Жыл бұрын

    Have you done division of two integers

  • @No-yp1uv
    @No-yp1uv6 ай бұрын

    why is the time complexity O(1)

  • @nehaa3778
    @nehaa3778 Жыл бұрын

    Finally a Java vid from you. Thanks for the vid though the time complexity can't be just O(1) right?

  • @sdaiwepm
    @sdaiwepm Жыл бұрын

    OR we could use logs: return int(log((e**a)*(e**b)))

  • @cmdv42
    @cmdv422 жыл бұрын

    💯

  • @codelateral675
    @codelateral675 Жыл бұрын

    Use whatever language you want we will still be here. Actually, I am a Java programmer. I didn't even know p of python but Neetcode is the only channel I watch for coding concepts. Most people don't understand programming languages are not important the purpose here is to understand the concept behind the questions. If you understand the concept you should be good enough to code it yourself if not then you don't know that programming language well enough. OMG, I want to write 2 pages regarding this but I think wise people will understand this.

  • @zr60
    @zr602 жыл бұрын

    doesn't work for all test cases on python

  • @HotDiceMiniatures
    @HotDiceMiniatures2 жыл бұрын

    Use Java if you want to baby! From the perspective of a beginner, the fact that this is done without an if structure is mind blasting.

  • @gigachad6844
    @gigachad68442 жыл бұрын

    Doesn't work for c and c++

  • @sauravchandra10
    @sauravchandra1011 ай бұрын

    It does not work for -1 and 1

  • @pranavsharma7479
    @pranavsharma7479 Жыл бұрын

    this is the problem which you need to learn

  • @kalashnikov203
    @kalashnikov203 Жыл бұрын

    Doesn't work for negative integers, since left shift operator on negative integers is not standardized and would give different answers based on compiler.

  • @vaidyanathanpk9221

    @vaidyanathanpk9221

    9 ай бұрын

    +1. It works for Java though.

  • @sharemarketsher6073
    @sharemarketsher60732 жыл бұрын

    Brother please just use python

  • @akka9335
    @akka93352 жыл бұрын

    Coding in Java after coding in python for many days is too frustrating!!! So many semi-colon mistakes! Such a long method call for just print(debug purposes)..Kindly provide an alternative solution in Python too.

  • @MaxFung
    @MaxFung4 ай бұрын

    screw this. I just used the += operator in Python and said if someone wants to ask me a bitwise question in an interview I might as well just give up

  • @MrTacoMan123
    @MrTacoMan1232 жыл бұрын

    lol'd when I saw the dislike. I also did the same for that question

  • @DzwiekiOtchlani
    @DzwiekiOtchlani10 ай бұрын

    How the hell this is marked as a medium? It’s easier than most of the “easy” ones that I’ve seen

  • @AndresC96
    @AndresC9619 күн бұрын

    I love you

  • @firezdog
    @firezdog Жыл бұрын

    Why is this problem on Blind 75? How does knowing how to solve it help solve other questions?

  • @gunahawk6893

    @gunahawk6893

    Жыл бұрын

    If you need to work with bit or low level things this would be helpful

  • @nikhil_a01

    @nikhil_a01

    Жыл бұрын

    LeetCode's official solution says that this is a popular question at Facebook and the creator of the Blind 75 list was a Facebook tech lead. That's probably one reason why it's on the list. It's also a tricky bit manipulation problem so it can help solidify your skills there. Since it's an annoying problem it's better to do it now than see it for the time in an interview.

  • @bhushanlaware
    @bhushanlaware Жыл бұрын

    This code is faster than sum operator. Then why not to just use this for sum instead?

  • @jessica_1811
    @jessica_18119 ай бұрын

    I ignored the "dislike" when you said so. But when I actually started doing this question i really disliked it.

  • @NoName-ef2gv
    @NoName-ef2gv2 жыл бұрын

    Lol you’ve thumbed down this question too and asked us to not pay attention to it

  • @kobebyrant9483
    @kobebyrant9483 Жыл бұрын

    really nicely explained!

  • @jbn999
    @jbn9992 жыл бұрын

    If there are only two elements... append them into a list and do a sum on that list - Python Solution.

  • @programming1734
    @programming17342 жыл бұрын

    Bro no. Don't give up on us so soon :(

  • @NK-fe3md
    @NK-fe3md Жыл бұрын

    Can someone please explain why I can't use sum to solve this? class Solution: def missingNumber(self, nums: List[int]) -> int: #is 0 missing ? zero_missing = 0 in nums if not zero_missing: return 0 tot_sum = 0 for i in range(len(nums) + 1): tot_sum += i arr_sum = sum(nums) return tot_sum - arr_sum

  • @parthshukla6189
    @parthshukla61892 жыл бұрын

    Please use Python man 🥺 My career is literally dependent on your channel

  • @AnarchySane

    @AnarchySane

    2 жыл бұрын

    Shiiiit)

  • @ShivamJha00

    @ShivamJha00

    2 жыл бұрын

    Pretty bad career you got there if it's "dependent" on a rando youtube channel

  • @parthshukla6189

    @parthshukla6189

    2 жыл бұрын

    I guess its a good thing to find a instructor from which you understand things the best amount

  • @shrimpo6416

    @shrimpo6416

    2 жыл бұрын

    You are NOT alone! I am pretty dependent on his channel too!!! I am a college student majoring at Stat with ZERO cs background so his videos means everything to me. Plus, I code in python only.

  • @chanman1568
    @chanman15682 жыл бұрын

    return a+b

  • @allandogreat
    @allandogreat2 жыл бұрын

    You used to use Python

  • @terrancewang7329
    @terrancewang73292 жыл бұрын

    Please please please stick with Python...Absolutely the most interview-friendly language!!!

  • @AnnieBox
    @AnnieBox2 жыл бұрын

    congrats on the complete 75 list!!! But as a python die-heart fan~~ you bend your knees on this one? No~~ I can't accept this!!! [○・`Д´・ ○]

  • @gunahawk6893

    @gunahawk6893

    Жыл бұрын

    😂 true , he hates java tho

  • @narendrakumariitb
    @narendrakumariitb2 жыл бұрын

    few extra likes for coding in my goto language 😅

  • @harshvardhanranvirsingh9473
    @harshvardhanranvirsingh94732 жыл бұрын

    Please! I'm solely here for a python

  • @KeshavKumar69420
    @KeshavKumar694202 жыл бұрын

    Please remain in Python !!!!!🙏

  • @easyvedicmaths886
    @easyvedicmaths88618 күн бұрын

    why u did b != 0, can we not do a != 0?

  • @user-cu4pi6ir9q
    @user-cu4pi6ir9q5 ай бұрын

    +=

  • @alfredoportocarrero8663
    @alfredoportocarrero86632 жыл бұрын

    Keep mixing it with Java!

  • @qwertythefish6442
    @qwertythefish64428 ай бұрын

    Love your dislike to the question

  • @erikm9768
    @erikm97682 жыл бұрын

    why java :[

  • @nawendusingh2858
    @nawendusingh285810 ай бұрын

    did yo u just use java coz you don't want to explain mask?

  • @kipa_chu
    @kipa_chu2 жыл бұрын

    People crying for python are going to be bad developers. It should be easy as f to port the solution in any language of your choice. I don't even understand python and I've been porting all solutions to C++ from this channel.

  • @gunahawk6893

    @gunahawk6893

    Жыл бұрын

    People complain because they can't move to another language just for one problem

  • @gunahawk6893

    @gunahawk6893

    Жыл бұрын

    Also if u convert this solution to python it would give tle

  • @nikhil_a01

    @nikhil_a01

    Жыл бұрын

    Normally I might agree with you but believe it or not sometimes the language does make a difference. This problem is quite a bit trickier in Python because integers have unlimited bit precision. It's not a simple port. To get the two's complement representation of a negative number you normally want to know how many bits your integer is.

  • @claim2game606
    @claim2game606Ай бұрын

    just look at this overly complicated code in c++ by me.... just rubbish but it works perfectly fine in the constraints defined for a and b ...............................next line int getSum(int a, int b) { int ans = 0; int value = 1; if(a a = abs(a); b = abs(b); value = -1; } if(a if(a if(abs(a) > b) { value = -1; } else { int t = b; b = a; a = t; } } else { if(abs(b) > a) { value = -1; int t = b; b = a; a = t; } } a = abs(a); b = abs(b); int c; int d; int i = 0; int e = 0; while(a != 0 || b != 0) { c = a&1; a >>= 1; d = b&1; b >>= 1; if(c + e - d == 0) { ans += 0; e = 0; } else if(c + e - d == 1) { ans += pow(2, i); } else if(c + e - d == -1) { ans += pow(2, i); e = -1; } i++; } } else { int c; int d; int e = 0; int i = 0; while(a != 0 || b != 0) { c = a&1; a >>= 1; d = b&1; b >>= 1; if(c + d + e == 1) { ans += pow(2, i); e = 0; } else if(c + d + e == 2) { if(a == 0 && b == 0) { ans += pow(2, i+1); } e = 1; } else if(c + d + e == 3) { if(a == 0 && b == 0) { ans += pow(2, i); ans += pow(2, i+1); } else { e = 1; ans += pow(2, i); } } i++; } } return ans*value; }

  • @symbol767
    @symbol7672 жыл бұрын

    This problem is stupid af

  • @user-fd4dr8zu5q
    @user-fd4dr8zu5q2 жыл бұрын

    lol neatcode disliked this questino

  • @linshengred
    @linshengred5 ай бұрын

    lol, dislike +1

  • @owenwu7995
    @owenwu7995 Жыл бұрын

    python solution: return(add(a, b)) I feel like this is too easy though even though this was accepted

Келесі