国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

68. Text Justification

2019-11-14 11:46:41
字體:
來源:轉載
供稿:網友

Given an array of Words and a length L, format the text such that each line has exactlyL characters and is fully (left and right) justified.

You should pack your words in a greedy apPRoach; that is, pack as many words as you can in each line. Pad extra spaces' ' when necessary so that each line has exactly L characters.

Extra spaces between words should be distributed as evenly as possible. If the number of spaces on a line do not divide evenly between words, the empty slots on the left will be assigned more spaces than the slots on the right.

For the last line of text, it should be left justified and no extra space is inserted between words.

For example,words: ["This", "is", "an", "example", "of", "text", "justification."]L: 16.

Return the formatted lines as:

[   "This    is    an",   "example  of text",   "justification.  "]

Note: Each word is guaranteed not to exceed L in length.

給出一個字符串數組,要求變換成另一個字符串數組,要求是組成的每個字符串的長度為maxWidth(用貪心算法),原字符間要用空格隔開,不夠長的話在字符間填充空格,規則是間隔要盡量均勻,如果間隔的空格數不能完全相等,靠左邊的要分多點。最后一行和前面的規則不一樣,最后一行間隔為1個空格,剩余的空格都填充在后面。實現時就是遍歷累加字符長度,適當長時就按上面的規則,計算出各間隔空格數,組合成字符串,加到答案中,同時也令累加長度為0重新累加。

代碼:

class Solution{public:	vector<string> fullJustify(vector<string>& words, int maxWidth) 	{		vector<string> res;		if(words.empty()) return res;		int n = words.size(), p = 0, len = 0, i = 0;		words.push_back(" ");		for(i; i <= n; ++i)		{			if(len + words[i].size() + i - p > maxWidth || i == n)			{				int r = maxWidth - len, space, addition, d = 1;				if(i == n)				{					space = 1;					addition = 0;				}				else if(i - p - 1 <= 0) 				{					space = r;					addition = 0;				}				else				{					space = r / (i - p - 1);					addition = r % (i - p - 1);				}				string tmp;				for(p; p < i; ++p)				{					tmp += words[p];					if(p == i - 1) continue;					if(addition-- <= 0) d = 0;					tmp += string(space + d, ' ');				}				while(tmp.size() < maxWidth) tmp += " ";				res.push_back(tmp);				len = 0;			}			len += words[i].size();		}		return res;	}};


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 铜鼓县| 光山县| 秦安县| 无锡市| 广德县| 牙克石市| 左权县| 大化| 义乌市| 正安县| 农安县| 瑞昌市| 小金县| 莫力| 平定县| 高邮市| 方正县| 辽源市| 扶风县| 轮台县| 汕头市| 曲靖市| 勃利县| 杂多县| 茌平县| 抚宁县| 沈丘县| 德令哈市| 大庆市| 象州县| 永宁县| 天峻县| 织金县| 柞水县| 大港区| 格尔木市| 高唐县| 石屏县| 大洼县| 临桂县| 鹿泉市|