Leetcode学习(34)—— Move Zeroes
2017-05-09 09:16
190 查看
Given an array nums, write a function to move all 0’s to the end of it while maintaining the relative order of the non-zero elements.
For example, given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12, 0, 0].
该语句表示,将 lambda 匿名函数应用于每一个 nums 的元素,之后将其进行排序
For example, given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12, 0, 0].
Note: You must do this in-place without making a copy of the array. Minimize the total number of operations.
# -*- coding:utf-8 -*- class Solution(object): def moveZeroes(self, nums): return nums.sort(key=lambda x:1 if x==0 else 1) if __name__ == '__main__': print(Solution().moveZeroes([0, 1, 0, 3, 12])) # def moveZeroes(self, nums): # # lastZero 用于保存 list 最前方的 0 的下标 # # 类比冒泡排序 # lastZero = 0 # for i in range(len(nums)): # if nums[i]: # nums[i], nums[lastZero] = nums[lastZero], nums[i] # lastZero += 1 # return nums
nums.sort(key=lambda x:1 if x==0 else 1)
该语句表示,将 lambda 匿名函数应用于每一个 nums 的元素,之后将其进行排序
相关文章推荐
- LeetCode编程练习 - Move Zeroes学习心得
- Silverlight入门学习(34)
- Container.paint(Graphics g) 方法 -Java学习笔记(34)
- ASP.NET 3.5核心编程学习笔记(34):会话状态的使用
- 黑马程序员_学习日记34_528基础加强(面向对象)
- IOS学习笔记34—EGOTableViewPullRefresh实现下拉刷新
- Learn Python The Hard Way学习(34) - 访问列表中的元素
- Effective C++学习笔记 第五弹 29-34
- 文件系统01 - 零基础入门学习Delphi34
- 34、Oracle 学习笔记: RMAN常用命令
- Java6学习笔记34——Java6中集合框架的学习
- EF学习杂记34:如何在EF中使用可更新视图
- 更灵活的定位内存地址的方法03 - 零基础入门学习汇编语言34
- Direct2D (34) : 开始学习 DirectWrite
- 函数03 - 零基础入门学习C语言34
- 传智播客Hibernate视频教程学习笔记34
- (网管学习笔记34)虚拟机应用Virtual PC,VMware和VirtualBox
- 操作系统学习笔记(34)--内存分页
- [转]Ultra Fractal教程系列34——关于变换的学习09——导出图像
- 嵌入式成长轨迹34 【嵌入式学习阶段】【ARM环境调试】【QT 移植环境及简单程序示例】---补充《ok6410 Qt移植百科全书》