11月27号,11月28号 319, 322, 324,328
第二十天
感冒了,这两天没写多少
文章目录
- 319. Bulb Switcher
- 322. Coin Change
- 324. Wiggle Sort II
- 328. Odd Even Linked List
319. Bulb Switcher
有n盏灯,在时间1的时候把所有灯打开;在时间2的时候每隔1盏灯把灯熄灭;时间3的时候每隔两盏灯按动开关,使得原来关的灯打开,原来开的的灯熄灭。到时间n的时候把按最后一盏灯的开关。
一开始所有灯都是处于关闭的状态的,我们以第12展灯为例。在1,2,3,4,6 ,12的时候都被按动了一次开关,一共6次,所以最后应该关着的。、
而如果是开着的,那么因子应该有奇数个,类似于16这种,1,2,4,8,16,所以这题就是统计n以内的完全平方数。
代码如下:、
class Solution(object):def bulbSwitch(self, n):""":type n: int:rtype: int"""return int(n**0.5)
322. Coin Change
给定一个列表,里面是硬币的面值,给定一个数,求他能被最少枚数的硬币组成的数量。
Example 1:
Input: coins = [1, 2, 5], amount = 11
Output: 3
Explanation: 11 = 5 + 5 + 1
可以用动态规划做,dp[11] = min(dp[10], dp[9], dp[6])
对于dp[n]
来说,dp[n] = min(dp[n-j] for j in coins if j <= n)
所以代码如下:
class Solution(object):def coinChange(self, coins, amount):""":type coins: List[int]:type amount: int:rtype: int"""if amount < min(coins) and amount>0:return -1res = [amount//min(coins)+1] * (amount+1)res[0] = 0for i in range(len(res)):res[i] = min([res[i-j]+1 for j in coins if j<=i]+[res[i]])return res[-1] if res[-1] < amount//min(coins)+1 else -1
324. Wiggle Sort II
给定一个序列,按照nums[0] < nums[1] > nums[2] < nums[3]....
的顺序排列。
我们可以看到其实可以拆成两个子序列。
其中nums[0]>nums[2]>..
以及nums[1]>nums[3]……
、
然后又有nums[1]>nums[0]
其中一个做法就是将大的值都搁在奇数位,小的搁在偶数位。
代码如下:
class Solution(object):def wiggleSort(self, nums):""":type nums: List[int]:rtype: None Do not return anything, modify nums in-place instead."""nums.sort()half = len(nums[::2])nums[::2], nums[1::2] = nums[:half][::-1], nums[half:][::-1]
328. Odd Even Linked List
给定一个链表,将顺序在偶数的节点都放在奇数节点的后面
Example 1:
Input: 1->2->3->4->5->NULL
Output: 1->3->5->2->4->NULL
Example 2:
Input: 2->1->3->5->6->4->7->NULL
Output: 2->3->6->7->1->5->4->NULL
其实很简单,控制两个指针,一个奇数指针一个偶数指针,然后都往后走两步,这样就得到了一个奇数链表一个偶数链表,然后合起来就可以了。
代码如下:
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = Noneclass Solution(object):def oddEvenList(self, head):""":type head: ListNode:rtype: ListNode"""if not head or not head.next:return headeven = headodd = head.nextehead = oddwhile even.next and odd.next:even.next = even.next.nextodd.next = odd.next.nexteven = even.nextodd = odd.nextif not odd or not odd.next:breakeven.next = eheadreturn head
11月27号,11月28号 319, 322, 324,328相关推荐
- [幻灯更新]9月27日-9月28日剔除“伪创新”和“无领域”的领域驱动设计-网络公开课
如果有人不了解人体的内部结构,就自称医生,声称自己能给人开腹割掉发炎的阑尾,甚至还能开胸给冠心病人做心脏搭桥,你信吗? 如果我自己或者家人是病人,我肯定不会让这样的医生动手术,因为没准一刀进去就切动脉 ...
- 分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(2月27日-3月4日)
分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(2月27日-3月4日) 本周Silverlight学习资源更新 Silverlight实用窍门系列:57.Sil ...
- 分享Silverlight/Windows8/WPF/WP7/HTML5周学习导读(5月27日-6月3日)
分享Silverlight/Windows8/WPF/WP7/HTML5周学习导读(5月27日-6月3日) 本周Silverlight学习资源更新 XAML实例教程系列 - 命名空间(NameSpac ...
- 赛尔号服务器维护时间4月27,赛尔号4月27日更新内容 赛尔号4月27日攻略大全
赛尔号4月27日更新内容 赛尔号4月27日攻略大全 终结!上古传说! 据说在巴斯星的上古龙殿的遗址,存在着龙族最强大的能量!正义的势力能战胜帕罗狄亚吗?赛尔们!巴斯星集合! 折翼的圣光天马 受伤的圣光 ...
- 活动预告+征集讲师和话题:iOS/Android DevCamp | CMDN CLUB移动开发者俱乐部清凉夏日嘉年华 | 7月27日 7月28日 | 北京...
CSDN正在策划一个针对移动开发者的技术交流会议,希望能得到各位技术大牛的意见. iOS/Android DevCamp | CMDN CLUB移动开发者俱乐部清凉夏日嘉年华 iOS DevCamp ...
- 美通社日历 | 媒体关注、会展信息、企业财报发布,节假日备忘(7月27日—8月1日)...
7月27日 Realme真我V5手机发布 以下上市公司公布业绩和财务信息: 路易威登(LOUIS VUITTON) SAP 恩智浦(NXP) 印度工业信贷投资银行(ICICI) 西麦斯( ...
- 4月27日-5月3日 记
五一长假,放九天假的我.思量思量这一周的事,磨叽磨叽. 周一体检的事我就不说了,反正也就是那样,没啥好说的. 周二,妈妈不放心,因为血压高嘛,下午请假去医院检查一番,得到的结论是."没啥事, ...
- 4月27日—5月1日四年级课程表
四年级课程表 [请各位家长注意翻看课程表下方学习指导] 时间 周一 周二 周三 周四 周五 9:00-9:25 语文 数学 语文 数学 英语 9:30-9:40 眼操 眼操 眼操 眼操 眼操 9:40 ...
- 4月27日----5月1日二年级课程表
**二年级课程表 时间 周一 周二 周三 周四 周五 9:00-9:25 语文 数学 语文 数学 心灵手巧 9:30-9:40 眼操 眼操 眼操 眼操 眼操 9:40-10:00 运动 运动 运动 运 ...
最新文章
- Redis配置不当可导致服务器被控制,已有多个网站受到影响 #通用程序安全预警#...
- 制表符补全位数在idea和eclipse中的区别
- 修改docx表格_实例29_在Word表格中将上下行相同内容的单元格自动合并
- UIView Methods
- 高斯滤波详解 python实现高斯滤波
- bbs.php168,PHP168 下载安装教程
- mac电脑上如何看java jdk文档
- Python常用的第三方模块(python第三方库)
- 全链路压测及阿里全链路压测详解
- 社区团长资金分账该如何高效解决呢?
- 看中国魅力女强人 访格力电器总裁董明珠
- rgb转换 css 字体
- 爱因斯坦:三篇著名演讲
- 利用python进行显著性分析
- win7无损分区和硬盘分区调整合并
- AutoJs学习-MC我的世界自动钓鱼
- Predis的一些操作汇总
- 时间戳和时间字符串互转
- centos搭建简单自用syslog服务器
- Java反射机制的学习(转)