题目传送门:Find All Numbers Disappeared in an Array
题意:一个序列nums = [1-N],现在有一些数字出现了两次,即意味着有一些没出现,找出没出现的数字。比如,[1,1,2,2,4] 1和2出现了两次,3,5没出现,所以答案是3,5
思路:哈希即可,遍历原序列,标记出现过数字,然后遍历哈希表即可得到没出现过的数字列表.
more >>题目传送门:Find All Numbers Disappeared in an Array
题意:一个序列nums = [1-N],现在有一些数字出现了两次,即意味着有一些没出现,找出没出现的数字。比如,[1,1,2,2,4] 1和2出现了两次,3,5没出现,所以答案是3,5
思路:哈希即可,遍历原序列,标记出现过数字,然后遍历哈希表即可得到没出现过的数字列表.
more >>题目传送门:Detect Capital
题意:给一个字符串,如果全是大写字母或者全是小写或者大写字母开头其他全是小写,这3种情况返回true,其他情况返回false
思路:根据首字母分情况讨论,首字母大写的话,看一下其余的字母是否存在大小写同时存在的情况,存在则不符合条件;
如果首字母小写,则判断一下其余的是否存在大写字母,存在则不符合条件;
以上ok.
题目传送门:Longest Uncommon Subsequence I
题意:给两个字符串,求最长非公共子串。
思路:简单一点暴力枚举所有子串(substring),然后判断非公共(indexOf),取最大长度即可.
more >>题目传送门:Max Consecutive Ones
题意:给一个数组,只包含0和1,求最大连续1的个数,比如[1,1,0,1,1,1],最大连续1的个数为3.
思路:转成字符串按0分割成字符串数组,遍历字符串数组,最大长度即为答案。
more >>关于Python,确实一门很强大很简洁的语言,上手也很简单,语法可以看菜鸟教程
开发环境有很多种,大牛就用Vim,简单点的submit text 3,无脑点的就PyCharm。不过PyCharm是收费的,激活的时候遇到了点问题,解决方案地址: Intellij IDEA 弹窗License activation 报 this license BIG3CLIK6F has been cancelled 错误的解决。
关于Python2和Python3是不兼容的,就是说你拿Python3的解释器是不能运行Python2的代码的。。下面我是用的Python2.7的。
Python爬虫有大致3种方式:
题目传送门:Single Number
题意:给一个序列,里面的数字都是成双出现,只有一个不是,find it,尽量不要用额外的内存
思路:首先,0异或任何数都等于那个数,即x == x ^ 0
然后一个数异或自己等于0,即0 == x ^ x
所以,让0去异或所给序列,最终结果就是单个的那个数,成双的异或两次不变,即0 == 0 ^ x ^ x
python代码:
1 | class Solution(object): |
题目传送门:Keyboard Row
题意:键盘上的字母分为3行,给出一串单词,要求出只由键盘上同一行字母组成的单词。
比如
Input: [“Hello”, “Alaska”, “Dad”, “Peace”]
Output: [“Alaska”, “Dad”]
思路:
一开始想着暴力判断一下, 往下拉了一下leetcode上有一个黄色的按钮叫Show Tags,好奇心下点了一下。。弹出来一个Hash Table,万恶的标签,for the weak person。
所以,不用想了,就hash搞一下就好了,反正字母转成ASCII码也不大,数组模拟一个hash表,假定第一行的字母的值为1,第二行为2,依次类推。判断一下每个单词的每个字母的值是否一致即可。
题目传送门:Reshape the Matrix
题意:给一个矩阵,让你改变这个矩阵的大小,即给出一个大小r*c,让原矩阵完全填充新矩阵,按原矩阵的列遍历方式填充,如果能完全填充则返回新矩阵,否则返回原矩阵。
思路:首先判断一下原矩阵的大小是否和给定的新矩阵r*c,即if(original_r × original_c == r × c)
如果不相等直接返回原矩阵即可。如果相等横向遍历原矩阵填充到新的矩阵,注意边界。
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true