LintCode问题图解-8

本文准备讲解1个简单的算法编程问题, 这个算法编程问题来自LintCode平台。不了解.LintCode平台的读者可以阅读笔者文章(在线编程平台推荐-LeetCode)。问题的英文版本描述如下:

Sort Letters by Case

Given a string which contains only letters. Sort it by lower case first and upper case second.

Notice

It's NOT necessary to keep the original order of lower-case letters and upper case letters.

Example

For "abAcD", a reasonable answer is"acbAD".

问题的中文版本描述:

字符大小写排序

给定一个只包含字母的字符数组,按照先小写字母后大写字母的顺序进行排序。

Example

给出"abAcD",一个合理的答案为"acbAD"。

处理该问题可以选用多种处理方案。最简单的算法方案:字符数组只包含字母,说明字符数组中的字符可能为大写字母或者小写字母。需要对数组中的每个字符做归类判断处理。标准的算法方案:将顺序靠前的大写字母向后放置,将顺序靠后的小写字母向前放置。高效的算法方案:调用 JAVA 语言自带的排序函数,附加一些处理。该方案不仅高效而且能够对所有数组元素做排序处理。


LintCode问题图解-8_第1张图片
最简单的算法


LintCode问题图解-8_第2张图片
标准的算法


LintCode问题图解-8_第3张图片
高效的算法

你可能感兴趣的:(LintCode问题图解-8)