Problem Solving Techniques For Programming - How To Actually Get Good

Поділитися
Вставка
  • Опубліковано 21 лис 2024

КОМЕНТАРІ • 47

  • @TechWithTim
    @TechWithTim  4 місяці тому +4

    If you want to land a developer job check out my program with CourseCareers: techwithtim.net/dev

  • @anthonyshuey8351
    @anthonyshuey8351 4 місяці тому +31

    You should do a live stream where we can tell you which problem to solve, and you have to solve it right in front of us without preparation. This way, we can see/hear your micro-thoughts, and we can understand how you got to the solution in its entirety.

  • @Bobble2520
    @Bobble2520 Місяць тому +2

    Its crazy.. your tech with tim.. i have an interview tomorrow.. my very first one since exiting my bootcamp 2 weeks ago. Seeing you make errors is daunting. Its humbling knowing we human.

  • @LouisFriedmann
    @LouisFriedmann 4 місяці тому +11

    Tim, your videos have helped me gain so much software development knowledge and have helped me build a website, 2D multiplayer game, and more. Thank you for all you do!

  • @idhantsood1105
    @idhantsood1105 4 місяці тому +1

    Tim, I have been watching you since 2018 or 2017, the amount of success you received and helped me receive has been crazy, thankyou!

  • @charlieinslidell
    @charlieinslidell 3 місяці тому +2

    I used index slicing for the rotations.
    If you do a return value for [-k:] which grabs the relevant end of the list starting with [3],
    in this case it will be [3,4,5],
    and [:-k] which grabs the relevant beginning of the list ending with but not including [3],
    in this case it will be [1,2],
    when added together you get the resulting rotated list and it is pretty elegant.
    def rotlist(head,k):
    k = k % len(head)
    return head[-k:] + head[:-k]
    head = [1,2,3,4,5]
    k = 3
    rotated_list = rotlist(head,k)
    print(rotated_list)

    • @ashlynnantrobus5029
      @ashlynnantrobus5029 2 місяці тому

      This was my thought as well while I was watching. I wasn't sure if he got caught up on the word rotate, or if that was an actual requirement of the problem

  • @Mohammad-tw7cq
    @Mohammad-tw7cq 3 місяці тому

    Generalizing Polya's approach to problem solving from mathematics to anything is the way to go.

  • @usamashami11
    @usamashami11 4 місяці тому +2

    Man you never fail to amaze me!
    Right on time when I needed to prepare for DSA ❤

  • @Archsage
    @Archsage 4 місяці тому +2

    I just watched “how to practice coding so you can get good” from a month ago, then you release this literally as I’m watching the other video.
    Thank you so much for your time, resources, and diligence to posting for us.

  • @matejbabiak4639
    @matejbabiak4639 3 місяці тому

    Hi Tim,
    thank you for explanation. I tried to solve this by myslef(I´am currently learning) and I solved it this way:
    list = [1,2,3,4,5]
    n = list[4]
    k = int(input())
    for n in range(0,k):
    m = list.pop(4)
    list.insert(0, m)
    print(list)
    it looks its working ( you can replace "n" with list [-1] if list is generated randomly/ or by input as well as for list.pop(-1))
    Thank you for any tips

  • @MuhammadUsman-w3z7w
    @MuhammadUsman-w3z7w 4 місяці тому

    Here is a suggestion. If you used a while loop and subtracted k by 1 in each loop instead of using a for loop and range function, your code would be more efficient.

  • @alimihakeem841
    @alimihakeem841 4 місяці тому +1

    Thanks Tim. I got so much inspiration from you.

  • @okotjakimgonzalo2270
    @okotjakimgonzalo2270 4 місяці тому +1

    I learnt a lot from your videos🎉

  • @C_itsNemo
    @C_itsNemo 3 місяці тому

    More videos like this please !

  • @James0950
    @James0950 4 місяці тому

    Nice work Tim💯💯...More content on intercepting Django+React+Djangorestframework please...

  • @pottoker612
    @pottoker612 4 місяці тому

    ChatGPT solved the problem for me in just five seconds, leading to it landing the job. During the interview, the interviewer placed a gun on the table and said, 'To prove you're a true programmer, show me your dedication by shooting yourself in the foot!' It was a dramatic and surreal test of commitment.

  • @Alan-gc3py
    @Alan-gc3py 4 місяці тому +2

    Hitting the gym, Tim? Looking good 👍

  • @C_itsNemo
    @C_itsNemo 3 місяці тому

    Can this be a series please?

  • @tcgvsocg1458
    @tcgvsocg1458 4 місяці тому

    its really funny to see youo grow up

  • @wimdegeytere1853
    @wimdegeytere1853 4 місяці тому +1

    Great explanation but shouldn’t the order at 13:58 be 2-3-1 instead of 3-2-1?

    • @TechWithTim
      @TechWithTim  4 місяці тому +2

      Yes I believe I added a correction on screen

    • @wimdegeytere1853
      @wimdegeytere1853 4 місяці тому +1

      @@TechWithTimTotally missed that, never mind then. Great job!

  • @GoliYardan
    @GoliYardan 4 місяці тому

    Excellent 👍

  • @MADA_QWE
    @MADA_QWE 4 місяці тому +4

    I am taking CS50, Introduction to Programming with Python. Sometimes, when I try to solve problems, I can't figure them out. I might understand the logic, I know what to do , but struggle with implementing it. After attempting to solve the problem myself, I eventually have to look at the solution. When I do, I understand it. Does this mean I'm a bad programmer, or that programming isn't for me?

    • @phongtranquoc7557
      @phongtranquoc7557 3 місяці тому +7

      It means you are not solving enough problems. All problems should have some patterns and techniques to solve especially in the field of dsa. And the best way to know about these patterns is to learn from solutions. I mean learn here is to completely understand the solution and can re-implement the solution without looking at it, then try to play with the solution a little bit. Playing here means you remove some lines from the solution and then see what happens try to understand why it happens. You do that again and again and again in the long time consistently then you will come to a point where you can figure out the pattern and solve a question your self

    • @phongtranquoc7557
      @phongtranquoc7557 3 місяці тому +5

      Practice is all there is to improve your problem solving. You might not have a briliant mind but with practice you can at least moving forward day after day to become better. Thats the only way for us normal folks. Good luck on your journey and stay strong

    • @MADA_QWE
      @MADA_QWE 3 місяці тому

      @@phongtranquoc7557 Thanks man

    • @fdauti_ca
      @fdauti_ca 3 місяці тому

      not being able to solve problems on a beginner course is certainly not a good thing. You might want to hear encouragement, but to answer your question honestly, my answer is simple: Yes. Using your time trying something else that you are better at, might open you real opportunities, instead of perusing a dream forever

    • @xoriu8813
      @xoriu8813 3 місяці тому +1

      Man, you just answered yourself. If you understand the logic, you've already solved 90% of the problem. Keep going, solve more problems, that's the key

  • @andiglazkov4915
    @andiglazkov4915 4 місяці тому

    Thanks 😊

  • @benhooke6304
    @benhooke6304 4 місяці тому +1

    Is there anything wrong with a pop and insert loop?
    def rotate(head, k):
    for i in range(k):
    head.insert(0, nums[-1])
    head.pop(-1)
    This works for me, but I don't know anything about LeetCode.

    • @thepaperbowser
      @thepaperbowser 4 місяці тому +4

      This works for a standard python list, but what if the linked list you're working with doesn't have insert and pop methods defined? I think the point is for you to demonstrate understanding of how to directly manipulate nodes in a linked list without relying on built-in functionality.

    • @benhooke6304
      @benhooke6304 4 місяці тому +1

      @@thepaperbowser ah that makes sense! Thanks!

    • @rockyx588
      @rockyx588 4 місяці тому

      ​@thepaperbowser Just force it into an list with iteration and the .Val attribute. Then do that code on the list, iterate through the linked list again and just replace all the values with the values in the list.
      But also, pretty sure they want O(1) space complexity, not O(n). So not recommended.

    • @rockyx588
      @rockyx588 4 місяці тому

      Note you can just make the pop and insert methods of a linked list yourself.

  • @natnaeldebebe1541
    @natnaeldebebe1541 4 місяці тому

    please make DSA course

  • @kvelez
    @kvelez 4 місяці тому +1

    More Golang and C# videos.

  • @LucidityRemains
    @LucidityRemains 3 місяці тому

    0:06 "problem sovling"

  • @fizzlid4511
    @fizzlid4511 4 місяці тому

    Hehe tim getting that sun tan

  • @esrx7a
    @esrx7a 4 місяці тому

    Problem Solving.

  • @MRA2_2
    @MRA2_2 3 місяці тому

    I started doing programming projects with high programming, ❗Python❗, I hope you will see them and give me your opinion☝️🤗

  • @cocoatea57
    @cocoatea57 4 місяці тому

    First Viewer 🎉

  • @C_itsNemo
    @C_itsNemo 3 місяці тому

    More videos like this please !