03 2017 档案

摘要:链接 "104. Maximum Depth of Binary Tree" 题意 给定一个二叉树,求它的最大深度(也就是高) 思路 利用递归,求每个节点的最大深度,累加起来即可 代码 Java: 总结 +1是因为当前节点未计算入内 效率 Your runtime beats 18.63% of j 阅读全文
posted @ 2017-03-31 16:10 zyoung 阅读(122) 评论(0) 推荐(0) 编辑
摘要:链接 "520. Detect Capital" 题意 给定一个单词,你需要判断这个单词中的大写字母是否使用规范。 规范如下: 1. 每个字母都是大写:USA 2. 每个字母都是小写:leetcode 3. 只有第一个字母是大写:Google 需要全部符合才视为格式正确 思路 根据给定的条件判断即可 阅读全文
posted @ 2017-03-27 22:52 zyoung 阅读(150) 评论(0) 推荐(0) 编辑
摘要:链接 "448. Find All Numbers Disappeared in an Array" 题意 给定一个整型数组,其中的元素满足 1 ≤ a[i] ≤ n (n为数组大小),一些元素出现了两次,另外一些出现一次。找出数组元素在[1, n]中没有出现的数字 思路 利用数组,创建一个大小为给 阅读全文
posted @ 2017-03-27 22:40 zyoung 阅读(124) 评论(0) 推荐(0) 编辑
摘要:链接 "136. Single Number" 题意 给定一个数组,里面的元素除了一个只出现一次之外,都出现了两次。找出只出现一次的那个元素。 思路 大概最好的解法就是用位运算了。而异或运算正好符合这道题的特征。两个相同的数进行异或结果为0,那么可以将数组中的所有数进行异或(异或还符合交换律),出现 阅读全文
posted @ 2017-03-20 11:56 zyoung 阅读(148) 评论(0) 推荐(0) 编辑
摘要:链接 "485. Max Consecutive Ones" 题意 给定一个二进制数组,找出连续1的最大长度。 思路 遍历数组,当遇到1时,初始化计数器(countOne),只要不遇到1就一直累加,一旦countOne大于ans记录的最大值,则更新ans。如果遇到0则将计数器清零。遍历完成后,ans 阅读全文
posted @ 2017-03-20 11:31 zyoung 阅读(123) 评论(0) 推荐(0) 编辑
摘要:链接 "292. Nim Game" 题意 你在和朋友玩这样一个游戏:桌上有一堆石头,你们每次都能从中移除1到3块石头,谁能移除最后一块石头就能获胜。在给定石头块数和你来先手的情况下,判断你是否可以获胜。 思路 这道题主要是思维上的难度。先从数量最少的考虑: 一块:自己赢 两块:自己赢 三块:自己赢 阅读全文
posted @ 2017-03-20 11:21 zyoung 阅读(138) 评论(0) 推荐(0) 编辑
摘要:jsoup简介 jsoup is a Java library for working with real world HTML. It provides a very convenient API for extracting and manipulating data, using the be 阅读全文
posted @ 2017-03-19 12:16 zyoung 阅读(7989) 评论(3) 推荐(0) 编辑
摘要:链接 "463. Island Perimeter" 题意 给定一个二维数组,模拟海和岛。其中0表示海域,1表示岛屿(全部相连)。求这块岛屿的周长。 已知条件: 1. 每一个小格子边长为1 2. 岛屿中没有内陆湖,说形象点就是岛屿是“实心”的 3. 数组一维和二维的长度相等(即正方形) 4. 长宽不 阅读全文
posted @ 2017-03-17 15:38 zyoung 阅读(126) 评论(0) 推荐(0) 编辑
摘要:链接 "496. Next Greater Element I" 题意 给定两个数组(无重复数字)nums1和nums2,其中nums1是nums2的子集,找出所有nums1中元素在nums2中相对应位置之后的第一个较大数,不存在则表示为 1。 例如: Input: nums1 = [4,1,2], 阅读全文
posted @ 2017-03-17 13:03 zyoung 阅读(98) 评论(0) 推荐(0) 编辑
摘要:1 模式变更 | 命令 | 说明 | | | | | | 普通模式→插入模式 | | | 普通模式→命令行模式 | | | 插入模式→普通模式 | | 两次 | 普通模式→替换模式 | 2 编辑 | 命令 | 说明 | | | | | | 删除当前行和下(上)一行 | | | 在当前光标处进行编辑 阅读全文
posted @ 2017-03-14 12:52 zyoung 阅读(183) 评论(0) 推荐(0) 编辑
摘要:链接 "344. Reverse String" 题意 给定一个字符串,输出其翻转后的字符串。 思路 从给定字符串反向遍历,利用StringBuilder拼接即可。 代码 Java: 总结 1. 该题如果直接进行字符串拼接(string1 += string2)会超时。StringBuilder是高 阅读全文
posted @ 2017-03-13 20:32 zyoung 阅读(113) 评论(0) 推荐(0) 编辑
摘要:链接 "412. Fizz Buzz" 题意 写一个程序,可以输出从1到给定的n,但当这个数是3的倍数时,改为输出Fizz,是5的倍数时改为输出Buzz。如果是3和5的公倍数,那么输出FizzBuzz 思路 输出前进行判断即可。 代码 Java: Java import java.util.List 阅读全文
posted @ 2017-03-13 20:14 zyoung 阅读(179) 评论(0) 推荐(0) 编辑
摘要:链接 "500. Keyboard Row" 题意 给定一个单词数组,返回那些能仅用键盘上一行字母构成的单词 注意: 1. 可以重复使用字母 2. 忽略大小写(全部视为小写) 思路 将每行字母各自存放到一个数组里面,然后分别遍历,用HashMap为三组字母放入不同的key值,以此来区分某个字母属于键 阅读全文
posted @ 2017-03-13 13:10 zyoung 阅读(476) 评论(3) 推荐(0) 编辑
摘要:链接 "476. Number Complement" 题意 给定一个正整数,输出它取反后的十进制数 注意: 1. 给定的正整数在32个字节范围内 2. 正整数的二进制表示没有前导0(即5表示为101,前面不加0) 思路 不能直接对给定数取反,因为要从最高位的1开始向后按位取反 代码 C: Java 阅读全文
posted @ 2017-03-13 11:40 zyoung 阅读(135) 评论(0) 推荐(0) 编辑
摘要:链接 461. Hamming Distance 题意 求两个数的二进制格式,相对应位相异的位数 思路充分运用位运算,循环比较相对应位是否一致。结束条件为某一个数比较完成(即移位后为0)x&1即取x二进制格式最后一位数。对x和y的最后一位进行对比(^),若结果为1则加1。 代码 阅读全文
posted @ 2017-03-12 13:11 zyoung 阅读(138) 评论(0) 推荐(0) 编辑