摘要:
problem 给出n天的价格,N天内先买后卖(允许一次),求最大盈利 一定要先买后卖,所以想法2,3不能随便取最大最小值 solution 想法 1. ~~嵌套遍历,每个差值都求出来~~ 2. 最小值 之后最大值 3. 转化为两两差值的list,求list和最大最小差值 4. 不用嵌套,遍历的次序 阅读全文
posted @ 2016-11-21 10:51
Salmd
阅读(108)
评论(0)
推荐(0)
摘要:
problem 判断数字的最小因数是不是只有2,3,5; 是True,不是false 数字1视为True solution 直接除法运算, time limit exceeded ~~换一个思路,反过来,可以整除其他素数则返回False,问题转化为获取素数列表,求素数本身就是消耗时间的过程~~ di 阅读全文
posted @ 2016-11-21 10:50
Salmd
阅读(94)
评论(0)
推荐(0)
摘要:
problem 用空格分割字符串,返回最后一个单词的长度 solution 注意空字符就行了 阅读全文
posted @ 2016-11-21 10:49
Salmd
阅读(90)
评论(0)
推荐(0)
摘要:
problem 求第二个字符串在第一个字符串中的位置 注意,字符串不定长 solution range( 100) = [] 阅读全文
posted @ 2016-11-21 10:46
Salmd
阅读(79)
评论(0)
推荐(0)
摘要:
problem 删除列表中给定的元素,返回删除后的列表长度n 列表中元素要删除,或者更改序列:列表前n个元素为理论上删除后的列表 solution 列表删除 改变列表排序 ~~如果不限行空间,还可考虑用Counter(总数量 val数量~~) 不行,列表本身要变化 阅读全文
posted @ 2016-11-21 10:45
Salmd
阅读(90)
评论(0)
推荐(0)
摘要:
problem 题目有一点没说明白,以[1,2,3]为例,元素可以不连续比如[1,3] [1,3]和[3,1]是重复解,有一个就行了 solution 使用combinations求各种元素数量的下标组合 element = map(lambda x: nums[x], j),下标组合转换为元素 元 阅读全文
posted @ 2016-11-21 10:44
Salmd
阅读(90)
评论(0)
推荐(0)
摘要:
problem t字符串包含元素为: 字符串s加一个字符(随机生成) 注意可能会有重合元素比如 t = 'aa ; s = 'a' solution 错误解 转换为集合利用集合的函数difference, 集合会去重,不能处理包含重复元素的情况 重做 discuss 用collectons.Coun 阅读全文
posted @ 2016-11-21 10:43
Salmd
阅读(127)
评论(0)
推荐(0)
摘要:
problem 有n个版本,损坏的版本后面也会损坏,求第一个损坏的白本 solution 问题抽象为在[1,1,1,1,0,0,0]的序列里寻找第一个0 使用简单二分查找(Time Limit Exceeded) The isBadVersion API is already defined for 阅读全文
posted @ 2016-11-21 10:42
Salmd
阅读(122)
评论(0)
推荐(0)
摘要:
problem 求根到叶的最短路径长度 solution 应该用BFS discuss DFS的递归解法 阅读全文
posted @ 2016-11-21 10:42
Salmd
阅读(104)
评论(0)
推荐(0)
摘要:
problem 将一个list本身按需求排序 solution ~~准备用三种简单排序实现~~ 题目要求除0外,保持原序列,没必要用平方复杂度 1. 冒泡排序 2. 3. discuss 思路是记录排在最前面的0,当发现不为0的元素时,和最前面的0交换位置 元素i遍历;nums[last0]当num 阅读全文
posted @ 2016-11-21 10:41
Salmd
阅读(108)
评论(0)
推荐(0)
摘要:
problem 猜数字游戏 solution 先判断元素相同,相同在两个列表内移除元素 后判断元素存在,存在在被判断列表内移除元素 缺陷在于删除list元素,时间复杂度 discuss 增加了一个list,储存0 9,如果不等且secret中存在,对应数字+1; 阅读全文
posted @ 2016-11-21 10:41
Salmd
阅读(115)
评论(0)
推荐(0)
摘要:
problem 用报纸拼字符串的问题,后面的参数为报纸,前面的为待拼字符串 solution 使用collections.Counter discuss里有一个更精简的写法.同样的问题是效率不高(后20%) 反过来减,如果不能完全包含则不为空,反之为空 利用not 把返回值空/非空,转换为True/ 阅读全文
posted @ 2016-11-21 10:40
Salmd
阅读(114)
评论(0)
推荐(0)
摘要:
problem 从矩阵中查找 每一行的首元素,都大于上一行尾元素( ~~(好像和哪种算法挺像的)~~ 分块索引) 分块索引 块中可能无序,本体有序 solution class Solution(object): def searchMatrix(self, matrix, target): """ 阅读全文
posted @ 2016-11-21 10:39
Salmd
阅读(86)
评论(0)
推荐(0)
摘要:
problem solution 解法取巧,直接转二进制,转string,转counter 下面的解法比较合理 阅读全文
posted @ 2016-11-21 10:39
Salmd
阅读(78)
评论(0)
推荐(0)
摘要:
solution 可能在多个分块中 solution 分块索引直接引申出的思维方式 时间复杂度 O(m n) O(m+n) 利用了题目一个隐藏的特性,每一个点都比它上面左边的点大 阅读全文
posted @ 2016-11-21 10:38
Salmd
阅读(86)
评论(0)
推荐(0)
摘要:
problem 二维动态规划问题 solution 建立一个等大小的数组,记录到每个格子的最小值 里面包含一些冗余计算,效率不高 第二个效率高很多,检查原因 不是xrange 改写移除部分if,无提升 差异只有nums是采用1维还是2维 这句话是当前位置上面和左边元素比较,然后加当前元素 阅读全文
posted @ 2016-11-21 10:37
Salmd
阅读(118)
评论(0)
推荐(0)
摘要:
problem 判断一个str是不是回文(无效字符忽略) 难度不高,注意的是空字符 and 数字也算有效字符 效率对比:30000的回文字符判断1000次 最初的解法:11.31s discuss1解法:8.18s discuss2解法:5.25s 1. wille循环改为strlist == st 阅读全文
posted @ 2016-11-21 10:36
Salmd
阅读(100)
评论(0)
推荐(0)

浙公网安备 33010602011771号