国产探花免费观看_亚洲丰满少妇自慰呻吟_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;	}};


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湟源县| 托克逊县| 乐安县| 崇礼县| 无极县| 镇沅| 清镇市| 平湖市| 尖扎县| 炉霍县| 博爱县| 上林县| 桃源县| 姜堰市| 交口县| 贞丰县| 镇平县| 海城市| 洪湖市| 镇巴县| 南陵县| 博罗县| 那坡县| 商洛市| 四平市| 永定县| 赣榆县| 休宁县| 汾阳市| 吴堡县| 灵宝市| 安吉县| 长子县| 丹寨县| 明溪县| 旬阳县| 旬阳县| 新源县| 剑川县| 罗城| 喜德县|