Problem Solving Techniques For Programming - How To Actually Get Good

Поделиться
HTML-код
  • Опубликовано: 23 ноя 2024

Комментарии • 48

  • @TechWithTim
    @TechWithTim  4 месяца назад +4

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

  • @Bobble2520
    @Bobble2520 2 месяца назад +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.

  • @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.

  • @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!

  • @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 3 месяца назад

      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

  • @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!

  • @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.

  • @neckbro
    @neckbro 3 месяца назад +2

    The problem of being good at programming has never been a lack of resources. Even if there was a stop on new content on the Internet, to consume the already free resources available ones would need a couple of lifetimes. The problem is, are people matching their natural skills with the industry/job or just going for the trend/what seems cool/profitable or fun. In case of the second, the struggle would be more then hard and never ending, cause they are not starting from a position of strength.

  • @Mohammad-tw7cq
    @Mohammad-tw7cq 4 месяца назад

    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 ❤

  • @matejbabiak4639
    @matejbabiak4639 4 месяца назад

    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.

  • @C_itsNemo
    @C_itsNemo 3 месяца назад

    More videos like this please !

  • @okotjakimgonzalo2270
    @okotjakimgonzalo2270 4 месяца назад +1

    I learnt a lot from your videos🎉

  • @C_itsNemo
    @C_itsNemo 3 месяца назад

    Can this be a series 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.

  • @James0950
    @James0950 4 месяца назад

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

  • @Alan-gc3py
    @Alan-gc3py 4 месяца назад +2

    Hitting the gym, Tim? Looking good 👍

  • @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!

  • @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 4 месяца назад +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 4 месяца назад +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 4 месяца назад

      @@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 😊

  • @tcgvsocg1458
    @tcgvsocg1458 4 месяца назад

    its really funny to see youo grow up

  • @natnaeldebebe1541
    @natnaeldebebe1541 4 месяца назад

    please make DSA course

  • @GoliYardan
    @GoliYardan 4 месяца назад

    Excellent 👍

  • @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.

  • @kvelez
    @kvelez 4 месяца назад +1

    More Golang and C# videos.

  • @LucidityRemains
    @LucidityRemains 3 месяца назад

    0:06 "problem sovling"

  • @esrx7a
    @esrx7a 4 месяца назад

    Problem Solving.

  • @fizzlid4511
    @fizzlid4511 4 месяца назад

    Hehe tim getting that sun tan

  • @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 !