0
点赞
收藏
分享

微信扫一扫

leetcode 288次周赛代码

书写经典 2022-04-13 阅读 58

6037. 按奇偶性交换后的最大数字

class Solution {
public:
    int largestInteger(int num) {
        int n=0;
        int cal=num;
        vector<int>count;
        int res=0;
        while(cal>0)
        {
            n++;
            count.insert(count.begin(),cal%10);
            cal/=10;
        }
        for(int i=0;i<n-1;i++)
        {
            int maxx=count[i];
            int swi=i;
            for(int j=i+1;j<n;j++)
            {
                if(count[i]%2==count[j]%2&&count[j]>maxx)
                {
                    maxx=count[j];
                    swi=j;
                }
            }
            int temp=count[i];
            count[i]=maxx;
            count[swi]=temp;
        }
        for(int i=0;i<n;i++)
        {
            res+=count[i];
            if(i==n-1)
                break;
            res*=10;
        }
        return res;
    }
};

数据量不大,遍历就行了 




6038. 向表达式添加括号后的最小结果

class Solution {
public:
    string minimizeResult(string expression) {
        int n=expression.length();
        int plus=-1;
        int maxx=2147483647;
        string res;
        for(int i=0;i<n;i++)
        {
            if(expression[i]=='+')
                plus=i;
        }
        for(int i=0;i<plus;i++)
        {
            for(int j=plus+1;j<n;j++)
            {
                int left=(i==0) ? 1:stoi(expression.substr(0,i));
                int right=(j==n-1) ? 1:stoi(expression.substr(j+1,n));
                int mid1=stoi(expression.substr(i,plus-i));
                int mid2=stoi(expression.substr(plus+1,j-plus));
                //cout<<left<<"  "<<mid1<<"   "<<mid2<<"   "<<right<<endl;
                int temp=left*(mid1+mid2)*right;
                //cout<<temp<<endl;
                if(temp<maxx)
                {
                    maxx=temp;
                    res=expression.substr(0,i)+'('+expression.substr(i,j-i+1)+')'+expression.substr(j+1,n);
                    //cout<<"res="<<res<<endl;
                }
            }
        }
        return res;
    }
};

遍历

后两题没做

举报

相关推荐

0 条评论