08 2018 档案

摘要:Question "559. Maximum Depth of N ary Tree" Solution 题目大意:N叉树求最大深度 思路:用递归做,树的深度 = 1 + 子树最大深度 Java实现: 阅读全文
posted @ 2018-08-31 18:26 okokabcd 阅读(155) 评论(0) 推荐(0)
摘要:第五章讲述 散列表 ,在Python中实现为字典,以散列函数与数组等构成,优点兼具数组与链表,防止重复,可以模拟映射关系。 散列表实现 散列函数 + 数组 实现散列表 散列函数 散列函数是这样的函数,即无论给它什么数据,它都还你一个数字。专业术语来说就是,散列函数“将输入映射到数字”。散列函数有两个 阅读全文
posted @ 2018-08-31 09:44 okokabcd 阅读(383) 评论(0) 推荐(0)
摘要:Question "766. Toeplitz Matrix" Solution 题目大意: 矩阵从每条左上到右下对角线上的数都相等就返回true否则返回false 思路: 遍历每一行[i,j]与[i+1,j+1]是否相等,不等就返回false,相等就接着遍历,都遍历完了就返回true Java实现 阅读全文
posted @ 2018-08-30 19:06 okokabcd 阅读(192) 评论(0) 推荐(0)
摘要:Question "893. Groups of Special Equivalent Strings" Solution 题目大意: AB两个字符串相等的条件是:A中偶数位出现的字符与B中偶数位出现的字符相同且奇数位出现的字符也相同 按上述判定相等字符串的规则求去重后字符串的个数 思路: strH 阅读全文
posted @ 2018-08-29 22:58 okokabcd 阅读(278) 评论(0) 推荐(0)
摘要:Question "696. Count Binary Substrings" Example1 Example2 Solution 题目大意: 给一个只有01组成的字符串,求子串数,子串必须满足 1. 0和1出现次数一样 2. 保证0连续1连续 思路: 参考下面参考链接的思路: 上一个连续子串长度 阅读全文
posted @ 2018-08-28 20:05 okokabcd 阅读(156) 评论(0) 推荐(0)
摘要:Question "165. Compare Version Numbers" Solution 题目大意: 比较版本号大小 思路: 根据逗号将版本号字符串转成数组,再比较每个数的大小 Java实现: 阅读全文
posted @ 2018-08-27 22:12 okokabcd 阅读(134) 评论(0) 推荐(0)
摘要:Algorithm 1. "830. Positions of Large Groups LeetCode" 2. "75. Sort Colors LeetCode" 3. "859. Buddy Strings LeetCode" 4. "791. Custom Sort String Leet 阅读全文
posted @ 2018-08-26 20:13 okokabcd 阅读(117) 评论(0) 推荐(0)
摘要:一、准备 1.1 安装环境 系统要求 操作系统 用rpm命令确认软件是否已安装 提示未安装的软件用yum安装 确认安装 1.2 创建用户 1.3 修改系统参数 追加: 使配置生效 1.4 修改用户Limits 追加: 1.5 创建相关目录 1.6 配置环境变量 追加: 使配置生效 1.7 修改/et 阅读全文
posted @ 2018-08-26 19:10 okokabcd 阅读(465) 评论(0) 推荐(0)
摘要:Question "830. Positions of Large Groups" Solution 题目大意: 字符串按连续相同字符分组,超过3个就返回首字符和尾字符 思路 : Java实现: 阅读全文
posted @ 2018-08-26 16:38 okokabcd 阅读(133) 评论(0) 推荐(0)
摘要:Question "75. Sort Colors" Solution 题目大意: 给一个数组排序,这个数组只有0,1,2三个元素,要求只遍历一遍 思路: 记两个索引,lowIdx初始值为0,highIdx初始值为nums.length 1,遍历数组,如果是2就与highIdx处元素互换且highI 阅读全文
posted @ 2018-08-25 21:00 okokabcd 阅读(117) 评论(0) 推荐(0)
摘要:Question "859. Buddy Strings" Solution 题目大意: 两个字符串,其中一个字符串任意两个字符互换后与另一个字符串相等,只能互换一次 思路: Java实现: 阅读全文
posted @ 2018-08-24 22:38 okokabcd 阅读(164) 评论(0) 推荐(0)
摘要:Question "791. Custom Sort String" Solution 题目大意:给你字符的顺序,让你排序另一个字符串。 思路: Java实现: 阅读全文
posted @ 2018-08-23 21:09 okokabcd 阅读(125) 评论(0) 推荐(0)
摘要:Question "804. Unique Morse Code Words" Solution 题目大意: 根据对应的编码规则将字符串数组中每个字符串编码,这样就得到一个编码后的数组,数组去重后返回数组大小 思路:用set来保存编码后的字符串 Java实现: 阅读全文
posted @ 2018-08-22 21:38 okokabcd 阅读(130) 评论(0) 推荐(0)
摘要:Question "877. Stone Game" Solution 题目大意: 说有偶数个数字,alex和lee两个人比赛,每次轮流从第一个数字或最后一个数字中拿走一个(偶数个数字,所以他俩拿的数字个数相同),最后比谁拿的数字总和大。题目是让我们设计一个算法,对于任意给定的一系列数字,判断如果a 阅读全文
posted @ 2018-08-22 09:58 okokabcd 阅读(417) 评论(0) 推荐(0)
摘要:Question "890. Find and Replace Pattern" Solution 题目大意:从字符串数组中找到类型匹配的如xyy,xxx 思路: Java实现: java public List findAndReplacePattern(String[] words, Strin 阅读全文
posted @ 2018-08-21 23:36 okokabcd 阅读(371) 评论(0) 推荐(0)
摘要:Question "709. To Lower Case" Sollution 题目大意:字符串大写转小写 思路: 1. 直接调用Java API函数 2. 字符串转char数组,遍历数组,判断如果大写就转小写 Java实现: java public String toLowerCase(Strin 阅读全文
posted @ 2018-08-21 20:40 okokabcd 阅读(144) 评论(0) 推荐(0)
摘要:Algorithm 1. "824. Goat Latin LeetCode" 2. "152. Maximum Product Subarray LeetCode" 3. "110. Balanced Binary Tree LeetCode" 4. "67. Two Sum II Input a 阅读全文
posted @ 2018-08-19 21:11 okokabcd 阅读(182) 评论(0) 推荐(0)
摘要:Question "665. Non decreasing Array " Solution 题目大意: 思路:当前判断2的时候可以将当前元素2变为4,也可以将上一个元素4变为2,再判断两变化后是否满足要求。 Java实现: java public boolean checkPossibility( 阅读全文
posted @ 2018-08-17 16:41 okokabcd 阅读(198) 评论(0) 推荐(0)
摘要:Question 167. Two Sum II - Input array is sorted Solution 题目大意:和Two Sum一样,这里给出的数组是有序的 思路:target - nums[i],这样就实现了降维了 Java实现: public int[] twoSum(int[] 阅读全文
posted @ 2018-08-16 20:07 okokabcd 阅读(161) 评论(0) 推荐(0)
摘要:区分Collection,Collector和collect 代码中用到的类与方法用红框标出,可从git库中查看 收集器用作高级归约 预定义收集器的功能 将流元素归约和汇总为一个值 元素分组 元素分区,分组的特殊情况,使用谓词作为分组函数(谓词,返回boolean类型的函数) Collectorso 阅读全文
posted @ 2018-08-16 13:28 okokabcd 阅读(538) 评论(0) 推荐(0)
摘要:Question "110. Balanced Binary Tree" Solution 题目大意:判断一个二叉树是不是平衡二叉树 思路:定义个boolean来记录每个子节点是否平衡 Java实现: Ref https://www.youtube.com/watch?v=C75oWiy0bWM 阅读全文
posted @ 2018-08-15 20:00 okokabcd 阅读(151) 评论(0) 推荐(0)
摘要:引入流 Stream API的代码 声明性 更简洁,更易读 可复合 更灵活 可并行 性能更好 流是什么? 它允许以声明方式处理数据集合 遍历数据集的高级迭代器 透明地并行处理 简短定义: 从支持数据处理操作的源生成的元素序列 特点:流水线和内部迭代 返回低热量菜肴的名称 映射 对每个元素应用函数 m 阅读全文
posted @ 2018-08-15 11:17 okokabcd 阅读(469) 评论(0) 推荐(0)
摘要:日期与时间 LocalDate 创建一个LocalDate对象并读取其值 LocalTime 创建LocalTime并读取值 LocalDateTime 直接创建LocalDateTime对象或通过合并日期和时间的方式创建 Instant 机器的日期和时间格式 时间段 Duration & Peri 阅读全文
posted @ 2018-08-14 23:41 okokabcd 阅读(222) 评论(0) 推荐(0)
摘要:Question "152. Maximum Product Subarray " Solution 题目大意:求数列中连续子序列的最大连乘积 思路:动态规划实现,现在动态规划理解的还不透,照着公式往上套的,这个问题要注意正负,需要维护两个结果 Java实现: java public int max 阅读全文
posted @ 2018-08-14 17:07 okokabcd 阅读(118) 评论(0) 推荐(0)
摘要:Questioin "824. Goat Latin" Solution 题目大意:根据要求翻译句子 思路:转换成单词数组,遍历数组,根据要求转换单词 Java实现: 用Java8的流实现,效率太低 java public String toGoatLatin(String S) { final S 阅读全文
posted @ 2018-08-13 19:25 okokabcd 阅读(159) 评论(0) 推荐(0)
摘要:Algorithm 1. "867. Transpose Matrix LeetCode" 1. "6. ZigZag Conversion LeetCode" 1. "443. String Compression LeetCode" 1. "189. Rotate Array LeetCode" 阅读全文
posted @ 2018-08-12 21:46 okokabcd 阅读(138) 评论(0) 推荐(0)
摘要:零、 概述 第一部分:1~3章 主要讲了行为参数化和Lambda表达式 第二部分:4~7章 主要讲了流的应用,包括流与集合差异,流的操作,收集器,注的并行执行 第三部分:8~12章 主要讲了怎样用Java8引入的特性改善老代码,Optional类和CompleteFuture及新的日期和时间API 阅读全文
posted @ 2018-08-12 15:11 okokabcd 阅读(313) 评论(0) 推荐(0)
摘要:Question "867. Transpose Matrix" Solution 题目大意:矩阵的转置 思路:定义一个转置后的二维数组,遍历原数组,在赋值时行号列号互换即可 Java实现: java public int[][] transpose(int[][] A) { int[][] B = 阅读全文
posted @ 2018-08-12 14:58 okokabcd 阅读(170) 评论(0) 推荐(0)
摘要:Question "6. ZigZag Conversion" Solution 题目大意:将字符串按Z字型排列,然后再一行一行按字符输出 思路:按题目中的第一个例子,画出如下图,通过n的不同值,可以找出规律红线的长度是2 n 2,蓝线的长度是interval row,这样根据已知参数知道有n行,所 阅读全文
posted @ 2018-08-12 14:47 okokabcd 阅读(427) 评论(0) 推荐(0)
摘要:Question "443. String Compression " Solution 题目大意:把一个有序数组压缩, 思路:遍历数组 Java实现: java public int compress(char[] chars) { if (chars.length == 0) return 0; 阅读全文
posted @ 2018-08-10 14:42 okokabcd 阅读(154) 评论(0) 推荐(0)
摘要:Question "189. Rotate Array" Solution 题目大意:数组中最后一个元素移到第一个,称动k次 思路:用笨方法,再复制一个数组 Java实现: java public void rotate(int[] nums, int k) { int[] numsCopy = A 阅读全文
posted @ 2018-08-09 14:38 okokabcd 阅读(135) 评论(0) 推荐(0)
摘要:Question "846. Hand of Straights" Solution 题目大意:打牌,判断牌是否能全部按顺子出 思路:构造一个list,存储1,2,3,4,5,6,7,8并排序,构造一个map存储每个数对应出现的次数 Java实现: java public boolean isNSt 阅读全文
posted @ 2018-08-08 17:32 okokabcd 阅读(398) 评论(0) 推荐(0)
摘要:Question "796. Rotate String " Solution 题目大意:两个字符串匹配 思路:Brute Force Java实现: java public boolean rotateString(String A, String B) { if (A.length() != B 阅读全文
posted @ 2018-08-07 11:17 okokabcd 阅读(254) 评论(0) 推荐(0)
摘要:Question "278. First Bad Version " Solution 题目大意:产品有5个版本1,2,3,4,5其中下一个版本依赖上一个版本,即版本4是坏的,5也就是坏的,现在要求哪个版本是第一个坏的。 思路:二分法,middle 1好,middle坏,middle就是第一个坏的版 阅读全文
posted @ 2018-08-07 10:15 okokabcd 阅读(141) 评论(0) 推荐(0)
摘要:Algorithm 1. "283. Move Zeroes LeetCode" 2. "832. Flipping an Image LeetCode" 3. "590. N ary Tree Postorder Traversal LeetCode" 4. "23. Merge k Sorted 阅读全文
posted @ 2018-08-06 01:08 okokabcd 阅读(168) 评论(0) 推荐(0)
摘要:通过python将阿里云DNS解析作为DDNS使用 脚本需要Python2.x运行 安装alidns python sdk 准备以下数据 access_key_id: access_Key_secret: account_id:可以在你账户的 账号管理 安全设置 中找到; rc_record_id: 阅读全文
posted @ 2018-08-06 01:06 okokabcd 阅读(688) 评论(0) 推荐(0)
摘要:Question "283. Move Zeroes" Solution 题目大意:将0移到最后 思路: 1. 数组复制 2. 不用数组复制 Java实现: 数组复制 java public void moveZeroes(int[] nums) { int[] arr = Arrays.copyO 阅读全文
posted @ 2018-08-05 23:40 okokabcd 阅读(149) 评论(0) 推荐(0)
摘要:Question "832. Flipping an Image" Solution 题目大意:将1列与最后n列对换,2列与n 1列对换…然后再将每个元素取反 思路:遍历二维数组的左半边,对每个元素先做对换再取反 Java实现: java public int[][] flipAndInvertIm 阅读全文
posted @ 2018-08-04 22:33 okokabcd 阅读(160) 评论(0) 推荐(0)
摘要:Question "590. N ary Tree Postorder Traversal" Solution 题目大意:后序遍历一个树 思路: 1)递归 2)迭代 Java实现(递归): Java实现(迭代): java public List postorder(Node root) { Lis 阅读全文
posted @ 2018-08-03 23:36 okokabcd 阅读(168) 评论(0) 推荐(0)
摘要:Question "23. Merge k Sorted Lists " Solution 题目大意:合并链表数组(每个链表中的元素是有序的),要求合并后的链表也是有序的 思路:遍历链表数组,每次取最小节点 Java实现: java public ListNode mergeKLists(ListN 阅读全文
posted @ 2018-08-02 15:21 okokabcd 阅读(142) 评论(0) 推荐(0)
摘要:Question "876. Middle of the Linked List " Solution 题目大意:求链表的中间节点 思路:构造两个节点,遍历链接,一个每次走一步,另一个每次走两步,一个遍历完链表,另一个恰好在中间 Java实现: 阅读全文
posted @ 2018-08-02 14:07 okokabcd 阅读(144) 评论(0) 推荐(0)