Skip to main content

Programming Skills LeetCode Day 1: Solutions

 

Day 1 of LeetCode are

1. Count odd numbers in an interval range:

    If we do not apply trick to this question, then we are going to fail. If we try testing each number one by one, it will take up a lot of memory and runtime. And henceforth, we fail. The trick is simple.

i. Check to find if first number or last number is odd. If that's the case, we can do like this:

            if (low%2 == 1 or high %2 == 1):

                return (high-low)//2 + 1

If you get confused, just take pen and paper and try it yourself.

ii. If the above case is not satisfied:

            else:

                return (high-low)//2   

 Complete Solution:

            class Solution:

          def countOdds(self,low:int, high:int)->int:

              if (low%2 == 1 or high%2 == 1):

                  return (high-low)//2 + 1

               else:

                  return (high-low)//2



2. Average Salary Excluding the Minimum and Maximum Salary

    This is even more easy than previous question as this question does not need any trick. Simply, use built-in functions of python. We can solve this:

sort() will put elements in ascending order. We can pass reverse for descending order like this sort(reverse = True). Rest of our code is self-explanatory. If you got stuck, comment below. I will answer your queries. 

            class Solution:

             def (average(self, salary:List[int]) -> float:

                    salary.sort()

                    salary = salary[1:len(salary)-1]

                    return round(sum(salary)/len(salary,5)

 

Comments

Popular posts from this blog

Web Scraping using Beautiful Soup (NEPSE LIVE DATA SCRAPING IN PYTHON)

from  bs4  import  BeautifulSoup import  requests import  csv source = requests.get( "http://nepalstock.com.np/" ).text soup = BeautifulSoup(source,  'lxml' ) csv_file =  open ( 'nepse.csv' , 'w' ) csv_writer = csv.writer(csv_file) csv_writer.writerow([ 'Symbol' ,  'Values' ,  'Total Traded amount' ]) marquee_tag = soup.find(      'div' ,  class_ = "col-xs-10 col-md-10 col-sm-12" ).marquee.b for  span_tag  in  marquee_tag( 'span' ):     span_tag.replace_with( '' ) for  img_tag  in  marquee_tag( 'img' ):     img_tag.replace_with( '' ) symbol_list = marquee_tag.text.split( '( )' ) all_symbols = [] short_name = [] per_share_value = [] total_traded_amount = [] a1 = [] a2 = [] a3 = [] for  symbol  in  symbol_list:     symbol_name = symbol.replace( u ' \xa0 ' ,  u '' )     all_symbols.append(symbol_name) all_

How to generate Golden Ratio by programming?

Golden ratio has been a fascinating topic for last more than 2400 years despite it does not have reliable evidence. Golden ratio is seen in the circle of Sunflower "flower". We can get golden ratio when we divide a line into two parts, the ratio of dividing the large part with small part is equal to the whole length divided by the longer part. For a programmer it will be more fascinating to know how to code the golden ratio. The most easy way to do this is by using Fibonacci Series. We can use python code like this. s = 0 a = 1 b = 1 for x in range(9999): c = a + b a = b print (c/b)  #This is the golden ratio b = c Golden ratio occurs in nature in different forms. Some of the examples are: 1. Flower Petals 2. Seed Heads 3. Pine Cones 4. Shells 5. Spiral galaxies 6. Hurricanes 7. Fingers 8. Animal Bodies 9. DNA molecules Thank you! A blog by Saroj Bhattarai

How to write PROLOG program for half adder?

In this problem, we are going to implement some logic (of course it is all about logic) that will run calculate the half adder sum and carry. We know has two inputs, and it will give sum and carry which looks like this: X            Y                 Sum                 Carry 0            0                  0                      0 0            1                  1                      0          1            0                  1                      0 1            1                  0                      1 So, to implement sum we need XOR gate and to implement Carry we need AND gate. Here is how we do it: xORGate(0,0,0). xORGate(0,0,0). xORGate(0,0,0). xORGate(0,0,0). aNDGate(0,0,0). aNDGate(0,0,0). aNDGate(0,0,0). aNDGate(0,0,0). halfadder(X,Y,S,C):-xORGate(X,Y,S), aNDGate(X,Y,C).  Now, you can run this code by giving the values of X and Y. like this: halfadder(1,1,S,C)   and the output will be S=0 C=1