Sort by

recency

|

38 Discussions

|

  • + 0 comments

    https://www.geeksforgeeks.org/find-next-greater-number-set-digits/ check this out

  • + 0 comments

    does next_permutation() inbuilt method in c++ work for this?

  • + 0 comments

    python sol

    n=int(input())
    for i in range(n):
        a=input()
        f=0
        for i in range(len(a)-1,0,-1):
            if(a[i-1]<a[i]):
                f=1
                break
        if(f==0):
            print("no answer")
        else:
            k=i-1
            for i in range(len(a)-1,k,-1):
                if(a[i]>a[k]):
                    l=i
                    break
            
            p=list(a)
            #print(p)
            x=p[k]
            #print(p[k])
            #print(p[l])
            p[k]=p[l]
            p[l]=x
            #print(p)
            aa=p[0:k+1]
            bb=p[k+1:]
            bb.sort()
            s=""
            for i in range(len(aa)):
                s=s+aa[i]
            for i in range(len(bb)):
                s=s+bb[i]
            print(s)
    
  • + 0 comments

    help me with this ..two cases cleared ..two to go....

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    int fun(char s[100],int j,int x,int l){
        int flag=0;
        for(int i=x;i<l;i++){
            if(s[i]>s[j]){
                if(flag==0)
                    flag=i;
                else
                    if(s[i]<s[flag])
                        flag=i;
            }
        }
        return flag;
    }
    void sort(char s[100] ,int p,int n){
          int i, j;  
        for (i = p; i < n-1; i++)      
          for (j = p; j < n-1; j++)  
            if (s[j] > s[j+1]){
                char temp = s[j];  
                 s[j] = s[j+1];  
                 s[j+1] = temp;
            }  
                
    }
    int main()
    {
        int n;
        scanf("%d",&n);
        for(int i=0;i<n;i++){
            char s[100];
            scanf("%s",s);
            int l=strlen(s);
            for(int j=l-2,x=j+1;j>=0;){
                 int flag=fun(s,j,x,l);        
                    if(flag!=0){
                    char temp=s[j];
                    s[j]=s[flag];
                    s[flag]=temp;
                    sort(s,j+1,l);
                    printf("%s\n",s);
                    break;
                }
                else{
                    x++;
                    if(x>=l){
                        j--;
                        if(j<0){
                        printf("no answer\n");
                        break;
                        }
                        x=j+1;
                    }
                }
            }
        }
    }
    
  • + 0 comments

    Passed every test case->

    import java.io.; import java.util.;

    public class Solution {

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        String A=sc.next().toLowerCase();
        String B=sc.next().toLowerCase();
        sc.close();
        char arr1[]=A.toCharArray();
        char arr2[]=B.toCharArray();
        System.out.println(arr1.length+arr2.length);
        int n=A.compareToIgnoreCase(B);
    
         String c=A.concat(" "+B);
      char arr3[]=c.toCharArray();
    
      for (int i = 0; i < arr3.length; i++) {
          if(arr3[i]==' ') {
                if(arr3[0]<=arr3[i+1]) {
                    System.out.println("No");
                }
                else {
                    System.out.println("Yes");
                }
            }    
            }
    
      arr3[0]=(char)(arr3[0]-32);
      for (int i = 1; i < arr3.length; i++) {
        if(arr3[i]==' ') {
            arr3[i+1]=(char)(arr3[i+1]-32);
        }
    }
    
      for (char d : arr3) {
        System.out.print(d);
    }
    
    }
    

    }