Problem Solving Techniques For Programming - How To Actually Get Good

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

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

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

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

  • @anthonyshuey8351
    @anthonyshuey8351 5 месяцев назад +33

    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 5 месяцев назад +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!

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

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

    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.

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

      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

  • @usamashami11
    @usamashami11 5 месяцев назад +2

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

  • @alimihakeem841
    @alimihakeem841 5 месяцев назад +1

    Thanks Tim. I got so much inspiration from you.

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

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

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

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

    More videos like this please !

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

    I learnt a lot from your videos🎉

  • @MuhammadUsman-w3z7w
    @MuhammadUsman-w3z7w 5 месяцев назад

    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.

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

    Hitting the gym, Tim? Looking good 👍

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

    its really funny to see youo grow up

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

    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

  • @wimdegeytere1853
    @wimdegeytere1853 5 месяцев назад +1

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

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

      Yes I believe I added a correction on screen

    • @wimdegeytere1853
      @wimdegeytere1853 5 месяцев назад +1

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

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

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

  • @pottoker612
    @pottoker612 5 месяцев назад

    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.

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

    Excellent 👍

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

      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 5 месяцев назад +6

      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 5 месяцев назад

      @@phongtranquoc7557 Thanks man

    • @fdauti_ca
      @fdauti_ca 5 месяцев назад

      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 5 месяцев назад +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

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

    Can this be a series please?

  • @andiglazkov4915
    @andiglazkov4915 5 месяцев назад

    Thanks 😊

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

      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 5 месяцев назад +1

      @@thepaperbowser ah that makes sense! Thanks!

    • @rockyx588
      @rockyx588 5 месяцев назад

      ​@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 5 месяцев назад

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

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

    0:06 "problem sovling"

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

    Hehe tim getting that sun tan

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

    please make DSA course

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

    More Golang and C# videos.

  • @cocoatea57
    @cocoatea57 5 месяцев назад

    First Viewer 🎉

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

    Problem Solving.

  • @MRA2_2
    @MRA2_2 5 месяцев назад

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

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

    More videos like this please !