
Leetcode刷题
Francis_s
在这里记录自己ML和DL的学习笔记。好好学习,认真做笔记,多看面经多交流,多刷LC,好好生活!
展开
-
#121-买卖股票的最佳时机
定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 ...原创 2019-05-28 20:30:32 · 221 阅读 · 0 评论 -
#70-爬楼梯
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。3. 1 阶 + 1 阶 + 1 阶4. 1 阶 + 2 阶5. ...原创 2019-05-27 20:14:34 · 330 阅读 · 0 评论 -
#141-环形链表
给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2], pos = 0输出:true解释...原创 2019-05-06 01:20:12 · 181 阅读 · 0 评论 -
#21-合并有序链表
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4解:其实就是新建多一个链表,然后用头节点开始,new的时候要ListNode *temp = new ListNode(0);不然会报错使用空指针。然后就是比较...原创 2019-05-06 00:46:04 · 176 阅读 · 0 评论 -
#876-链表的中间节点
给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans.val = 3, ans.next.v...原创 2019-05-05 17:20:46 · 233 阅读 · 0 评论 -
#206-反转链表
。反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题解:被绕晕了,最近少写代码,太垃圾了自己,后来发现一种很奇妙的解法,也是网上的大部分解法把就是设置三个指针,因为缺少头指针,所以先把第一个元素断开(...原创 2019-05-05 15:42:12 · 187 阅读 · 0 评论 -
#551-学生出勤记录表
给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符:‘A’ : Absent,缺勤‘L’ : Late,迟到‘P’ : Present,到场如果一个学生的出勤记录中不超过一个’A’(缺勤)并且不超过两个连续的’L’(迟到),那么这个学生会被奖赏。你需要根据这个学生的出勤记录判断他是否会被奖赏。示例 1:输入: “PPALLP”输出: True示例 2:输入: “...原创 2019-03-29 12:16:52 · 761 阅读 · 0 评论 -
#709-转换成小写字母
实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。示例 1:输入: “Hello”输出: “hello”示例 2:输入: “here”输出: “here”示例 3:输入: “LOVELY”输出: “lovely”分析:遍历string,然后从ASCILL码下手,大写字母是65-90,小写字母是97...原创 2019-03-29 12:05:43 · 198 阅读 · 0 评论 -
#804-唯一摩尔斯密码词
先写一份:vector的排序,很重要对于一个带有数据的vector a;sort(a.begin(),a.end()); —这个是利用algorithm里面的sort对vector进行从小到大的排序bool comp(int a,int b){ return a<b};sort(a.begin(),a.end(),comp);—这个是利用了comp函数,再加上sort,对vector...原创 2019-03-28 12:53:09 · 302 阅读 · 0 评论 -
#350-两个数组的交集 II
给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2,2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [4,9]说明:输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。我们可以不考虑输出结果的顺序。分析:一开始的思路是,看看...原创 2019-03-28 10:39:02 · 169 阅读 · 0 评论 -
#976-三角形的最大周长
给定由一些正数(代表长度)组成的数组 A,返回由其中三个长度组成的、面积不为零的三角形的最大周长。如果不能形成任何面积不为零的三角形,返回 0。示例 1:输入:[2,1,2]输出:5示例 2:输入:[1,2,1]输出:0示例 3:输入:[3,2,3,4]输出:10示例 4:输入:[3,6,2,3]输出:8提示:3 <= A.length <= 10000...原创 2019-03-28 10:09:01 · 584 阅读 · 0 评论 -
#496. 下一个更大元素 I
给定两个没有重复元素的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。找到 nums1 中每个元素在 nums2 中的下一个比其大的值。nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出-1。示例 1:输入: nums1 = [4,1,2], nums2 = [1,3,4,2]...原创 2019-03-24 17:14:34 · 217 阅读 · 0 评论 -
#83- 删除排序链表中的重复元素
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3分析:这题和元素删除没什么两样,反而这题还更简单,后指针的触发条件时前指针遇到两个相同的数但是!!!!编译器老师提示“runtime error: mem...原创 2019-03-26 15:49:00 · 184 阅读 · 0 评论 -
#203-移除链表元素
删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5分析:考研简单题型了,习惯了带头节点的,真烦。。。。索性给他加头节点了然后就设置前后指针,同步往前找,找得到,就前指针指向后指针的next, ok写得有点鸡肋哈哈哈,见怪了/**...原创 2019-03-26 15:22:07 · 263 阅读 · 0 评论 -
#20-有效的括号
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例 4:输入: “([)...原创 2019-03-22 23:49:04 · 180 阅读 · 0 评论 -
#989-数组形式的整数加法
对于非负整数 X 而言,X 的数组形式是每位数字按从左到右的顺序形成的数组。例如,如果 X = 1231,那么其数组形式为 [1,2,3,1]。给定非负整数 X 的数组形式 A,返回整数 X+K 的数组形式。示例 1:输入:A = [1,2,0,0], K = 34输出:[1,2,3,4]解释:1200 + 34 = 1234解释 2:输入:A = [2,7,4], K = 181...原创 2019-03-26 11:09:30 · 295 阅读 · 0 评论 -
#999-车的可用捕获量
在一个 8 x 8 的棋盘上,有一个白色车(rook)。也可能有空方块,白色的象(bishop)和黑色的卒(pawn)。它们分别以字符 “R”,“.”,“B” 和 “p” 给出。大写字符表示白棋,小写字符表示黑棋。车按国际象棋中的规则移动:它选择四个基本方向中的一个(北,东,西和南),然后朝那个方向移动,直到它选择停止、到达棋盘的边缘或移动到同一方格来捕获该方格上颜色相反的卒。另外,车不能与其他...原创 2019-03-25 11:48:32 · 167 阅读 · 0 评论 -
#844-比较含退格的字符串
给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。示例 1:输入:S = “ab#c”, T = “ad#c”输出:true解释:S 和 T 都会变成 “ac”。示例 2:输入:S = “ab##”, T = “c#d#”输出:true解释:S 和 T 都会变成 “”。示例 3:输入:S = “a##c”, T...原创 2019-03-25 10:11:52 · 296 阅读 · 0 评论