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:


                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


                  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 = salary[1:len(salary)-1]

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



Popular posts from this blog

Basic guidelines for Chess opening.

If you are reading this blog, you probably know how the pieces move in the game of chess.  The player with the white pieces always moves first. The opening is generally considered complete when your rooks are connected. There are some basic principles to follow how to play efficiently. We should focus on the development of pieces. Here are top 10 opening rules for good chess opening: We must attack the center of board. So,  OPEN  with a  CENTER PAWN like  e4, d4. While ( e4 ,  d4 ,  e5 ,  d5 ) are generally regarded as the central squares, the same principle can sometimes be extended to the adjacent squares like ( c4 ,  c5 ,  d3 ,  d6 ,  e3 ,  e6 ,  f4 ,  f5 ).      DEVELOP pieces with  threats .  Always develop your Knights before Bishops . Develop knights to towards the center of board rather than side of board. When the knight is developed in the center, it could attack up to 8 squares.  The real reason to  develop Knights before Bishops  is that Knight are shorter- range pie

How to get GitHub Student Pack, Apply now

  Git is a version control system . G itHub is a web-based hosting service for version control using git . You can save all the projects on GitHub. GitHub has given some benefits for students. They recently are providing the student development pack for the students to give access to developers tools for free. Some of these real world tools are too expensive for a student to use. So, for those students who love the education, this could be just great! To get students developer pack, we are going to follow these steps: 1. First you need to make an account on GitHub. Go to this link and sign up for free . 2. After making an account on GitHub, visit the link . 3.  Click on “ Get your pack ” button.  4.   Sign with GitHub with your username and password.  5.  Click on the button “ Yes, I’m a Student ”. 6.  Enter your name and verify your academic status. Add a photo of your identity card where it says “

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

from  bs4  import  BeautifulSoup import  requests import  csv source = requests.get( "" ).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_