Problem Solving Techniques For Programming - How To Actually Get Good

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 พ.ย. 2024

ความคิดเห็น • 48

  • @TechWithTim
    @TechWithTim  3 หลายเดือนก่อน +4

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

  • @anthonyshuey8351
    @anthonyshuey8351 3 หลายเดือนก่อน +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 3 หลายเดือนก่อน +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 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

  • @idhantsood1105
    @idhantsood1105 3 หลายเดือนก่อน +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!

  • @usamashami11
    @usamashami11 3 หลายเดือนก่อน +2

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

  • @Archsage
    @Archsage 3 หลายเดือนก่อน +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.

  • @Mohammad-tw7cq
    @Mohammad-tw7cq 3 หลายเดือนก่อน

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

  • @alimihakeem841
    @alimihakeem841 3 หลายเดือนก่อน +1

    Thanks Tim. I got so much inspiration from you.

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

  • @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 3 หลายเดือนก่อน

    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.

  • @pottoker612
    @pottoker612 3 หลายเดือนก่อน

    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.

  • @C_itsNemo
    @C_itsNemo 3 หลายเดือนก่อน

    More videos like this please !

  • @okotjakimgonzalo2270
    @okotjakimgonzalo2270 3 หลายเดือนก่อน +1

    I learnt a lot from your videos🎉

  • @C_itsNemo
    @C_itsNemo 3 หลายเดือนก่อน

    Can this be a series please?

  • @Alan-gc3py
    @Alan-gc3py 3 หลายเดือนก่อน +2

    Hitting the gym, Tim? Looking good 👍

  • @James0950
    @James0950 3 หลายเดือนก่อน

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

  • @wimdegeytere1853
    @wimdegeytere1853 3 หลายเดือนก่อน +1

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

    • @TechWithTim
      @TechWithTim  3 หลายเดือนก่อน +2

      Yes I believe I added a correction on screen

    • @wimdegeytere1853
      @wimdegeytere1853 3 หลายเดือนก่อน +1

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

  • @tcgvsocg1458
    @tcgvsocg1458 3 หลายเดือนก่อน

    its really funny to see youo grow up

  • @MADA_QWE
    @MADA_QWE 3 หลายเดือนก่อน +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

  • @GoliYardan
    @GoliYardan 3 หลายเดือนก่อน

    Excellent 👍

  • @benhooke6304
    @benhooke6304 3 หลายเดือนก่อน +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 3 หลายเดือนก่อน +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 3 หลายเดือนก่อน +1

      @@thepaperbowser ah that makes sense! Thanks!

    • @rockyx588
      @rockyx588 3 หลายเดือนก่อน

      ​@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 3 หลายเดือนก่อน

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

  • @andiglazkov4915
    @andiglazkov4915 3 หลายเดือนก่อน

    Thanks 😊

  • @natnaeldebebe1541
    @natnaeldebebe1541 3 หลายเดือนก่อน

    please make DSA course

  • @kvelez
    @kvelez 3 หลายเดือนก่อน +1

    More Golang and C# videos.

  • @fizzlid4511
    @fizzlid4511 3 หลายเดือนก่อน

    Hehe tim getting that sun tan

  • @LucidityRemains
    @LucidityRemains 3 หลายเดือนก่อน

    0:06 "problem sovling"

  • @esrx7a
    @esrx7a 3 หลายเดือนก่อน

    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 3 หลายเดือนก่อน

    First Viewer 🎉

  • @C_itsNemo
    @C_itsNemo 3 หลายเดือนก่อน

    More videos like this please !