摘要: 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)
摘要: problem 在字符串中寻找第一个不重复的字母,返回位置(没有则返回 1) solution 1. 求一个重复字母的集合。 2. 寻找第一个不在集合的元素 discuss solution 建一个包含26个字母数值的list;第一遍循环,每发现一次某字母,对其做一个标示;第二次循环,发现字母标示为 阅读全文
posted @ 2016-10-15 15:43 Salmd 阅读(108) 评论(0) 推荐(0)
摘要: problem solution 利用set特性 阅读全文
posted @ 2016-10-15 15:41 Salmd 阅读(78) 评论(0) 推荐(0)
摘要: problem 求一个数是不是4的幂 进阶要求不用循环递归 转换为二进制,转为字符串,正则判断 solution 注意0和负数 如果把 4的幂也加进来,暂时没想到正则怎么写,分开写的 discuss 1 联合起来都是先判断是否2的幂,然后判断是否4的幂 对于数学特性应用的更深 num & (num 阅读全文
posted @ 2016-10-15 15:38 Salmd 阅读(88) 评论(0) 推荐(0)