找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 403|回复: 0
收起左侧

[讨论] Print U Shaped String

[复制链接]

19

主题

2

精华

83

积分

资深会员

Rank: 2

积分
83
发表于 10-3-2015 12:57 AM | 显示全部楼层 |阅读模式

亲!马上注册或者登录会查看更多内容!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

就是确定竖线和横线的长度,需要注意的是,算竖线长度的时候,包括与横线的交点,因为这个WA了2次。
样例输入中helloworld少了个l,@管理员
  1. class Solution {
  2. public:
  3.     vector<string> uFormat(string &s) {
  4.         int n = s.size();
  5.         if(n <= 3) return vector<string>({s});

  6.         int a = n/3, r = n%3, b;
  7.         if(r == 0){
  8.             b = a;
  9.         }
  10.         else{
  11.             b = n-a*2;
  12.         }
  13.         if(b < 3 || b <= a){
  14.             --a;
  15.             b += 2;
  16.         }
  17.         
  18.         string padding(b-2, ' ');
  19.         vector<string> res(a+1);
  20.         for(int i = 0; i < a; ++i){
  21.             res【i】 = s【i】 + padding + s[n-1-i];
  22.         }
  23.         res[a] = s.substr(a, b);
  24.         return res;
  25.     }
  26. };
复制代码


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表