zoukankan      html  css  js  c++  java
  • leetcode 1592. 重新排列单词间的空格

    简单题是吧,,,那让我记录一下简单题我是咋一步一步走向WA的

    注意只有一个字母的问题,因为没有空格所以那两个式子都是0,他啥都输不出来\

    注意分母为0的问题

     一开始就死掉了

    #include <iostream>
    #include <stdio.h>
    #include <stack>
    #include <vector>
    #include <math.h>
    #include <string>
    #include <algorithm>
    #include <unordered_map>
    #include <map>
    #include<set>
    #include <cstring>
    #include <queue>
    
    #include <stdio.h>
    #include <stdlib.h>
    #define IOS ios::sync_with_stdio(false);cin.tie(0); cout.tie(0)
    
    #define ll long long
    
    using namespace std;
    class Solution {
    public:
       string reorderSpaces(string text) {
            int i=0;
            int nume=0;
            vector<vector<char>> v;
            vector<char> vv;
    
            while((text[i]) !=' ' && i<text.size()){
                vv.push_back(text[i]);
                i++;
            }
            if(!vv.empty()){
                v.push_back(vv);
                vv.clear();
            }
            for (int j = i; j < text.size(); ) {
                while(text[j]==' '&& j < text.size()){
                    nume++;
                    j++;
                }
                while((text[j]) !=' ' && j < text.size()){
                    vv.push_back(text[j]);
                    j++;
                }
                if(!vv.empty()){
                    v.push_back(vv);
                    vv.clear();
                }
            }
            int s=v.size();
            string ans;
            if(nume!=0 && s!=1) {
                int d = nume / (s - 1);
                int l = nume % (s - 1);
    
                for (int k = 0; k < s; ++k) {
                    for (int j = 0; j < v[k].size(); ++j) {
                        ans += v[k][j];
                    }
                    if (k != s - 1) {
                        for (int m = 0; m < d; ++m) {
                            ans += ' ';
                        }
                    } else {
                        for (int m = 0; m < l; ++m) {
                            ans += ' ';
                        }
                    }
    
                }
            }
            else{
                for (int j = 0; j < v[0].size(); ++j) {
                    ans += v[0][j];
                }
                for (int m = 0; m < nume; ++m) {
                    ans += ' ';
                }
    
            }
            return ans;
    
        }
    };
    int main(){
        Solution s;
        cout<<s.reorderSpaces(" hello");
    }

    呜呜呜,简单题被卡成这样真的难受啊

  • 相关阅读:
    六月计划#2B(6.10-6.16)
    set
    六月计划#2A(6.10-6.16)
    Codevs_1166_[NOIP2007]_矩阵取数游戏_(动态规划+高精度)
    7月17日刷题记录 分治Getting!循环比赛日程表
    倍增ST应用 选择客栈(提高组)
    7月16日做题记录 贪心小练~
    三分查找笔记
    倍增笔记ST表
    分治笔记
  • 原文地址:https://www.cnblogs.com/zhmlzhml/p/13746168.html
Copyright © 2011-2022 走看看