Maximum Swap | 4 techniques | Leetcode 670

แชร์
ฝัง
  • เผยแพร่เมื่อ 10 ม.ค. 2025

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

  • @BananaButcher
    @BananaButcher 2 หลายเดือนก่อน

    The best part of this video is when he also says you can watch that video. which makes me easier to relate it with other problems. thanks for your work sir.

    • @techdose4u
      @techdose4u  2 หลายเดือนก่อน +1

      Thanks! Glad you found it helpful.

  • @anmolyadav9112
    @anmolyadav9112 2 หลายเดือนก่อน

    best YT channel of DSA problem solving

    • @techdose4u
      @techdose4u  2 หลายเดือนก่อน

      thanks for your appreciation :)

  • @rishusingh.
    @rishusingh. 2 หลายเดือนก่อน +1

    Best solution so far

    • @techdose4u
      @techdose4u  2 หลายเดือนก่อน

      Thanks :)

  • @TheSecurityScholar
    @TheSecurityScholar 2 หลายเดือนก่อน

    Thankyou so much your video are helping me a lot

    • @techdose4u
      @techdose4u  2 หลายเดือนก่อน

      great 👍🏼

  • @sailendrachettri8521
    @sailendrachettri8521 2 หลายเดือนก่อน +1

    Thank You SirJi :)

    • @techdose4u
      @techdose4u  2 หลายเดือนก่อน

      welcome :)

  • @tindo0038
    @tindo0038 2 หลายเดือนก่อน

    you are the goat

    • @techdose4u
      @techdose4u  2 หลายเดือนก่อน

      😅

  • @RakeshChanda21
    @RakeshChanda21 2 หลายเดือนก่อน

    time complexity is O(N^2) for first 2 approaches 2 parse and selection sort

    • @techdose4u
      @techdose4u  2 หลายเดือนก่อน

      can you please elaborate ?

  • @SaiDharahasReddyIndrakanti
    @SaiDharahasReddyIndrakanti 2 หลายเดือนก่อน

    can we use montonic decreasing stack?

    • @techdose4u
      @techdose4u  2 หลายเดือนก่อน

      you may have to try some tricks because if you see a lower value in future and pop then its wrong (L to R).
      (R to L) decreasing stack again may not work as highest weight digits may have high value as compared to others. So, I wont use it

  • @Lucifer-xt7un
    @Lucifer-xt7un 2 หลายเดือนก่อน

    Will you please make a video about your dsa course so that it will give clarity whether to join or not as im very intrested but no proper guide is there about your course.

    • @techdose4u
      @techdose4u  2 หลายเดือนก่อน

      I will make a private video and share on whatsapp. I hope you have queried us on whatsapp.

    • @Lucifer-xt7un
      @Lucifer-xt7un 2 หลายเดือนก่อน

      @@techdose4u yes sir

  • @mageshmcc
    @mageshmcc 2 หลายเดือนก่อน

    The simplest answer is here, happy to explain if you need help :))
    class Solution:
    def maximumSwap(self, num: int) -> int:
    num_list = [int(i) for i in str(num)]
    max_iter = len(num_list) - 1
    num_dict = {}
    for i, x in enumerate(num_list):
    if x not in num_dict:
    num_dict[x] = [i]
    else:
    num_dict[x].append(i)
    i = 0
    while i < max_iter:
    tmp_list = num_list[i::]
    small = min(tmp_list)
    big = max(tmp_list)
    if num_list[i] == big:
    pass
    else:
    ith_elm = num_list[i]
    num_list[i] = big
    num_list[num_dict[big][-1]] = ith_elm
    break
    i += 1
    output_num = 0
    digit_place = 10**max_iter
    for i in num_list:
    output_num += digit_place * i
    digit_place //= 10
    return output_num

    • @techdose4u
      @techdose4u  2 หลายเดือนก่อน +1

      nice

  • @sajan_kharat
    @sajan_kharat 2 หลายเดือนก่อน

    I am not able to do any questions or projects. I understand everything when I watch the tutorial. I feel I am stuck in tutorial hell. Please help me

    • @techdose4u
      @techdose4u  2 หลายเดือนก่อน

      TH-cam videos are only for you to solve one particular problem but cant help you with everything.
      You can ping us on whatsapp to assist you.

  • @RiteshKumar-IIT_KGP
    @RiteshKumar-IIT_KGP 2 หลายเดือนก่อน

    Your 2nd Method fails on test case for num=1993 🤡

    • @techdose4u
      @techdose4u  2 หลายเดือนก่อน +1

      I think you can make the changes taking selection technique into consideration and playing with equality :)

    • @RiteshKumar-IIT_KGP
      @RiteshKumar-IIT_KGP 2 หลายเดือนก่อน

      @@techdose4u if i would play with equality then another case num=98368 will fail 🤷

    • @spetsnaz_2
      @spetsnaz_2 2 หลายเดือนก่อน +1

      Mine got accepted. You might be doing something wrong. Code for your reference :
      class Solution {
      public:
      int maximumSwap(int num) {
      string s = to_string(num);
      int n = s.size();
      vector rightMax(n);
      rightMax[n-1] = n-1;
      for(int i=n-2; i>=0; i--) {
      if(s[i] > s[rightMax[i+1]])
      rightMax[i] = i;
      else
      rightMax[i] = rightMax[i+1];
      }
      for(int i=0; i

    • @RiteshKumar-IIT_KGP
      @RiteshKumar-IIT_KGP 2 หลายเดือนก่อน

      @@techdose4u yeah u r right,ur 2nd method also worked.....
      int maximumSwap(int num) {

      vectorno;
      int t=num;
      while(t!=0){
      no.push_back(t%10);
      t=t/10;
      }
      reverse(no.begin(),no.end());
      vectorind(no.size());
      int n=no.size();
      int maxi=INT_MIN;
      int max_ind=n-1;
      for(int i=n-1;i>=0;i--){
      if(no[i]>maxi){
      ind[i]=i;
      max_ind=i;
      maxi=no[i];
      }
      else if(no[i]