ARTS训练营
Algorithm: 每周至少做一个Leetcode算法题
Review: 阅读并点评一篇英文技术文章
Tip: 学习一个技术技巧
Share: 分享一篇有观点和思考的技术文章
急景凋年
这个作者很懒,什么都没留下…
展开
-
2020M9W1 ARTS
1. Algorithm: LeetCode. 628题干给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。示例 1:输入: [1,2,3]输出: 6示例 2:输入: [1,2,3,4]输出: 24注意:给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/ma原创 2020-09-16 08:51:30 · 97 阅读 · 0 评论 -
2020M8W5 ARTS
1. Algorithm: leetCode.414给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。示例 1:输入: [3, 2, 1]输出: 1解释: 第三大的数是 1.示例 2:输入: [1, 2]输出: 2解释: 第三大的数不存在, 所以返回最大的数 2 .示例 3:输入: [2, 2, 3, 1]输出: 1解释: 注意,要求返回第三大的数,是指第三大且唯一出现的数。存在两个值为2的数,它们都排第二。原创 2020-09-07 08:41:36 · 108 阅读 · 0 评论 -
2020M8W3 ARTS
1. Algorithm: leetCode.4851.1 题目描述给定一个二进制数组, 计算其中最大连续1的个数。示例 1:输入: [1,1,0,1,1,1]输出: 3解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.注意:输入的数组只包含 0 和1。输入数组的长度是正整数,且不超过 10,000。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/max-consecutive-ones著作权归领扣网络所有原创 2020-08-31 09:10:58 · 177 阅读 · 0 评论 -
2020 M8W4 ARTS
1. Algorithm: leetCode.4951.1 题目描述在《英雄联盟》的世界中,有一个叫 “提莫” 的英雄,他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态。现在,给出提莫对艾希的攻击时间序列和提莫攻击的中毒持续时间,你需要输出艾希的中毒状态总时长。你可以认为提莫在给定的时间点进行攻击,并立即使艾希处于中毒状态。示例1:输入: [1,4], 2输出: 4原因: 第 1 秒初,提莫开始对艾希进行攻击并使其立即中毒。中毒状态会维持 2 秒钟,直到第 2 秒末结束。第 4原创 2020-08-31 09:08:24 · 139 阅读 · 0 评论 -
2020M8W2 ARTS
2020 M8W2 ARTS1. Algorithm:LeetCode1456. 定长子串中元音的最大数目给你字符串 s 和整数 k 。请返回字符串 s 中长度为 k 的单个子字符串中可能包含的最大元音字母数。英文中的 元音字母 为(a, e, i, o, u)。示例 1:输入:s = "abciiidef", k = 3输出:3解释:子字符串 “iii” 包含 3 个元音字母。示例 2:输入:s = "aeiou", k = 2输出:2解释:任意长度为 2 的子字符串都包含原创 2020-08-17 12:08:36 · 174 阅读 · 0 评论 -
2020M8W1 ARTS
1. Algorithm给你一个字符串 S、一个字符串 T 。请你设计一种算法,可以在 O(n) 的时间复杂度内,从字符串 S 里面找出:包含 T 所有字符的最小子串。示例:输入:S = "ADOBECODEBANC", T = "ABC"输出:"BANC"提示:如果 S 中不存这样的子串,则返回空字符串 “”。如果 S 中存在这样的子串,我们保证它是唯一的答案。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-win原创 2020-08-10 09:31:52 · 190 阅读 · 0 评论 -
2020M7W4 ARTS
2020 M7W4 ARTS1. Algorithm1.1 3. 无重复字符的最长子串给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为原创 2020-08-03 11:06:16 · 141 阅读 · 0 评论 -
2020M7W3 ARTS
2020 M7W3 ARTS1. Algorithm1.1 面试题 16.07. 最大数值编写一个方法,找出两个数字a和b中最大的那一个。不得使用if-else或其他比较运算符。示例:输入: a = 1, b = 2输出: 2来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-lcci著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。这题看上去很奇怪,不能用比较符号怎么比较大小?但是仔细想想运算符的原创 2020-07-27 23:22:12 · 199 阅读 · 0 评论 -
2020M7W2 ARTS
1. Algorithm1.1 169. 多数元素给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/majority-element著作权归领扣网络所有。商业转载请联系原创 2020-07-20 09:25:03 · 122 阅读 · 0 评论 -
2020M7W1 ARTS
1. Algorithm1.1 LeetCode 1. 两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]来源:力扣(LeetCode)链接:https://leetcod原创 2020-07-13 08:46:23 · 129 阅读 · 0 评论 -
2020M6W5 ARTS
1. Algorithm上周开始学习并发编程,因此找了多线程的问题来练习,巩固知识。1.1 1114. 按序打印我们提供了一个类:public class Foo { public void one() { print("one"); } public void two() { print("two"); } public void three() { print("three"); }}三个不同的线程将会共用一个 Foo 实例。线程 A 将会调用 one() 方法线程 B原创 2020-07-06 18:13:13 · 223 阅读 · 0 评论 -
2020M6W4 ARTS
1. Algorithm1.1 LeetCode 70.爬楼梯上周本来准备把和找零钱相关的两道爬楼梯的题目做了,但实在没找出时间来,本周做一下。看一下题干:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1.原创 2020-06-30 09:07:44 · 5193 阅读 · 0 评论 -
2020M6W3 ARTS
1. Algorithm:1.1 LeetCode 322. 零钱兑换上周五下班的时候在B站看到《极客时间》的直播,正好讲到这道题,不过因为网络问题,断断续续的也没有看出个所以然,只是偶然间听到一句“贪心算法”。现在回顾一下题干:给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。示例 1:输入: coins = [1, 2, 5], amount = 11输出: 3原创 2020-06-29 12:52:33 · 175 阅读 · 0 评论 -
2020M6W2 ARTS
1. Algorithm: leetCode.234 回文链表1.1 题目描述判断一个链表是否为回文链表比如:1->2 为false1->2->2->1 为true这道题考察的知识点是链表。1.2 解题思路使用快慢指针,慢指针每次前进一格,快指针每次前进两格。通过这种方式来找到链表的中点,之后反转中点之后的链表,与中点前的链表做对比。在细节上我们要考虑链表是奇数还是偶数的情况,偶数的链表快指针会提前终止,避免出现空的情况# @lc code=start#原创 2020-06-29 12:50:52 · 300 阅读 · 0 评论