Lintcode143 Sort Colors || solution 题解

【题目描述】

Given an array ofnobjects withkdifferent colors (numbered from 1 to k), sort them so that objects of the same color are adjacent, with the colors in the order 1, 2, ... k.

Notice

You are not suppose to use the library's sort function for this problem.

k <= n

给定一个有n个对象(包括k种不同的颜色,并按照1到k进行编号)的数组,将对象进行分类使相同颜色的对象相邻,并按照1,2,...k的顺序进行排序。

【注】:

1、对于这个问题,不应该使用库的排序函数。

2、k<=n

【题目链接】

www.lintcode.com/en/problem/sort-colors-ii/

【题目解析】

利用两个指针的方法,设定pl和pr,左右两个指针,初始位置分别为数组两端,pl = 0, pr = colors.length - 1. 同时,由于题目限制条件,已知min和max,因此可以据此作为比较,来决定如何移动pl,pr两个指针。不断对满足min和max条件的colors进行swap,就可以在in-place的条件下,做到sorting colors,这种算法的空间复杂度为O(1), 而时间复杂度:这种方法的时间复杂度为O(n^2): T(n) = T(n - 2) + n。

【参考答案】

www.jiuzhang.com/solutions/sort-colors-ii/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,787评论 0 33
  • 今天是近3个月来第一次被蚊子咬醒的一天,凌晨五点半我就开始睡不着了。 深夜的晚上,阳台上的冷风吹得汗毛苏苏的。 复...
    Echo可可阅读 113评论 0 0
  • part.1 盆盆:我靠,我又说我靠了,我靠! part.2 又是盆盆,打了7块钱的饭菜,正欲走,瞟见某同学的炒豆...
    数字姥姥阅读 160评论 0 1
  • 有一种孤独动物,极度缺乏安全感,时常感到燥狂,每每燥狂时,面部平静无波,心脉却极其紊乱,唯一能平静内心的办法就是食...
    言子木三阅读 304评论 0 1