当前位置: 首页 > 后端技术 > Python

力扣75,颜色分类Python实现

时间:2023-03-26 12:57:03 Python

题目要求:思路:三个指针,一个指向头部,一个指向当前元素指针,一个尾部遍历数组,如果当前元素为0,且当前元素下标(当前指针)大于头部指针,当前头指针的值与头指针位置的值交换,头指针加一。如果当前元素为2,则将当前值与尾指针的值进行交换。尾指针减一(如果当前值为1),当前指针加一。核心代码:#起点和当前指针为0,end为数组长度减一start,cur,end=0,0,len(nums)-1#遍历数组,当当前指针大于结束指针,跳出循环whilecur<=end:#如果当前值为2,将当前值与尾指针的值交换,尾指针减一ifnums[cur]==2:nums[end],nums[cur]=nums[cur],nums[end]end-=1#如果当前值为0,且当前指针大于头指针,则交换当前值如果start