Message on Whatsapp 8879355057 for DSA(OA + Interview) + Fullstack Dev Training + 1-1 Personalized Mentoring to get 10+LPA Job
0 like 0 dislike
785 views
in Online Assessments by Expert (46,090 points) | 785 views

5 Answers

0 like 0 dislike
public int biggerRemove(int num, int digit) {
 boolean isNeg = false;
 if(num<0) {
  isNeg = true;
  num*=-1;
 }
 String numString = String.valueOf(num);
 char digitChar = (char)(digit + '0');
 int n = numString.length();
 int lastPos = -1;
 for(int i=0; i<n; i++) {
  char c1 = numString.charAt(i);
  if(c1!=digitChar) continue;
  lastPos = i;
  if(i+1>=n) break;
  char c2 = numString.charAt(i+1);
  if(!isNeg && c1<c2) {
   return Integer.valueOf(numString.substring(0,i)+numString.substring(i+1,n));
  }
  if(isNeg && c1>c2) {
   return -1*Integer.valueOf(numString.substring(0,i)+numString.substring(i+1,n));
  }
 }
 int ans = lastPos==n-1? Integer.valueOf(numString.substring(0,lastPos)) : Integer.valueOf(numString.substring(0,lastPos)+numString.substring(lastPos+1,n));
 return isNeg? -1*ans : ans;
}
by Expert (46,090 points)
0 like 0 dislike
class Solution
{

public:
    int removeOneFive(int N)
    {
        string str = to_string(N);
        int mx = -999999;
        for (int i = 0; i < str.length(); ++i)
        {
            if (str[i] == '5')
            {
                auto n = str.substr(0, i) + str.substr(i + 1);
                mx = max(mx, stoi(n));
            }
        }
        return mx;
    }
};
by Expert (46,090 points)
0 like 0 dislike

Solution for the remove one five problem

 

def removeOneFive(num):
    num = str(num)
    numLen = len(num)
    
    for i in range(numLen):
        if num[i] == "-": continue
    
        n = int(num[i])
        if num[0] != "-" and n == 5 and i < numLen - 1 and int(num[i + 1]) >= 5:
            return int(num[:i] + num[i + 1:])
        elif num[0] == "-" and n == 5 and i < numLen - 1 and int(num[i + 1]) <= 5:
            return int(num[:i] + num[i + 1:])
    
    indexOfRemovedFive = num.find("5") if num[0] == '-' else num.rindex("5")
    return int(num[: indexOfRemovedFive] + num[indexOfRemovedFive + 1:])
by Expert (46,090 points)
0 like 0 dislike

Solution for above remove one five problem

 

def removeOneFive(number):
    max_num = float("-inf")
    number = str(number)
    for i, c in enumerate(number):
        if c == '-': continue
        if c == '5':
            newnum = int(number[:i] + number[i+1:])
            max_num = max(newnum, max_num)
    return str(max_num)
by Expert (46,090 points)