刷题
文章平均质量分 50
ME_Seraph
Time
展开
-
1512. 好数对的数目
文|MESeraph双循环查找class Solution {public: int numIdenticalPairs(vector<int>& nums) { int iCount=0; vector<int>::iterator itrExtern,itrIntern; for(itrExtern=nums.begin(); itrExtern!=nums.end(); itrExtern++)原创 2020-08-24 10:39:49 · 95 阅读 · 0 评论 -
1431. 拥有最多糖果的孩子
文|MESeraph思路:第一次轮询求解最大值。第二次轮询,判断当前值是否小于最大值减去额外值。class Solution {public: vector<bool> kidsWithCandies(vector<int>& candies, int extraCandies) { vector<int>::iterator itr; int nMax = 0; for(itr=candies.be原创 2020-08-22 16:15:34 · 87 阅读 · 0 评论 -
1480. 一维数组的动态和
文|MESeraphclass Solution {public: vector<int> runningSum(vector<int>& nums) { vector<int>::iterator itr; int sum=0; for(itr=nums.begin(); itr!=nums.end(); itr++) { sum += *itr;原创 2020-08-19 19:53:37 · 122 阅读 · 0 评论 -
142. 环形链表 II
文|Seraph01 | 问题给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。说明:不允许修改给定的链表。示例 1:输入:head = [3,2,0,-4], pos = 1输出:tail connects to...原创 2019-10-16 00:16:10 · 86 阅读 · 0 评论 -
141. 环形链表
文|Seraph01 | 问题给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2], ...原创 2019-10-15 22:54:29 · 89 阅读 · 0 评论 -
24. 两两交换链表中的节点
文|Seraph01 | 问题给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.02 |解题初解:这里思路就是通过交换指向指针来变动两两前后节点的顺序。/** * Definition for sing...原创 2019-10-15 19:46:55 · 99 阅读 · 0 评论 -
LeetCode解题记录本子
文|Seraph记住:刻意练习并不意味着寻找答案并记住它,这种练习方法不是长久之计。 在没有参考答案情况下,越能自主解决问题,才越能提高自身能力。两数之和两数相加无重复字符的最长子串整数反转字符串转换整数(atoi)回文数罗马数字转整数最长公共前缀有效的括号合并两个有序链表删除排序数组中的重复项从排列数组中删除重复项移动元素实现str...原创 2019-10-15 15:44:52 · 902 阅读 · 0 评论 -
206. 反转链表
文|Seraph01 | 问题反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?02 |解题初解:终解:03 | 积累知识点官网链接 Leetcode No.206...原创 2019-10-15 15:28:22 · 83 阅读 · 0 评论 -
107. 二叉树的层次遍历 II
文|Seraph1 问题给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其自底向上的层次遍历为:[ [15,7], [9,20], [3]]2 解题初解:...原创 2019-10-15 00:30:22 · 82 阅读 · 0 评论 -
69 x的平方根
文|Seraph01 | 问题实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842…,由于返回类型是整数,小数部分将被舍去。02 |解题初解:这是我写过的最无耻的初...原创 2019-10-02 09:46:41 · 238 阅读 · 0 评论 -
83 删除排序链表中的重复元素
文|Seraph01 | 问题给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->302 |解题初解:双指针,遇到相同的元素则越过,不同的元素则衔接。/** * Definition for...原创 2019-10-02 09:48:02 · 78 阅读 · 0 评论 -
88 合并两个有序数组
文|Seraph01 | 问题给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0],...原创 2019-10-02 09:48:58 · 95 阅读 · 0 评论 -
100 相同的树
文|Seraph01 | 问题给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3]输出: true示例 2:...原创 2019-10-02 09:49:48 · 93 阅读 · 0 评论 -
101 对称二叉树
文|Seraph01 | 问题给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3说明:如果你可以运用递...原创 2019-10-02 09:50:38 · 82 阅读 · 0 评论 -
104 二叉树的最大深度
文|Seraph01 | 问题给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。02 |解题初解:DFS递归求,二叉树的最大深度=子...原创 2019-10-02 09:51:25 · 95 阅读 · 0 评论 -
122 买卖股票的最佳时机 II
文|Seraph1 问题给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = ...原创 2019-10-02 09:52:22 · 93 阅读 · 0 评论 -
189 旋转数组
文|Seraph1 问题给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,...原创 2019-10-02 09:55:14 · 111 阅读 · 0 评论 -
237 删除链表中节点
文|Seraph01 | 问题请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 – head = [4,5,1,9],它可以表示为:示例 1:输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -...原创 2019-10-02 09:56:30 · 80 阅读 · 0 评论 -
67 二进制求和
文|Seraph01 | 问题给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。示例 1:输入: a = “11”, b = “1”输出: “100”示例 2:输入: a = “1010”, b = “1011”输出: “10101”02 |解题初解:这个题目模拟大数二进制加法运算即可。将字符串转换成值后更好运算。cla...原创 2019-10-02 09:44:11 · 141 阅读 · 0 评论 -
66 加一
文|Seraph01 | 问题给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入...原创 2019-10-02 09:43:22 · 124 阅读 · 1 评论 -
1 两数之和
文|Seraph01 | 问题给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0...原创 2019-10-01 16:16:59 · 118 阅读 · 0 评论 -
2 两数相加
文|Seraph01 | 问题给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:...原创 2019-10-01 16:18:32 · 99 阅读 · 0 评论 -
3 无重复字符的最长子串
文|Seraph01 | 问题给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释:...原创 2019-10-01 16:19:43 · 91 阅读 · 1 评论 -
7 整数反转
文|Seraph01 | 问题给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 2102 |解题初解:整体思路还是很明显,就是利用除余10,来获取每位的具体数字,然后进行反转计算。class Solution {publi...原创 2019-10-01 16:20:40 · 131 阅读 · 0 评论 -
9 回文数
文|Seraph1 问题判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因...原创 2019-10-01 16:22:22 · 173 阅读 · 0 评论 -
13 罗马数字转整数
文|Seraph01 | 问题罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写...原创 2019-10-01 16:23:14 · 150 阅读 · 0 评论 -
14 最长公共前缀
文|Seraph01 | 问题编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。02 |解题这里一...原创 2019-10-01 16:24:12 · 106 阅读 · 0 评论 -
20. 有效的括号
文|Seraph01 | 问题给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出...原创 2019-10-02 09:33:04 · 85 阅读 · 0 评论 -
21. 合并两个有序链表
文|Seraph01 | 问题将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->402 |解题初解:使用三个指针,两个指针分别轮训两个链表,还有一个指针用来改动指针指向来重新排序链表。但有些临界情况没想...原创 2019-10-02 09:34:15 · 82 阅读 · 0 评论 -
26 从排列数组中删除重复项
文|Seraph1 问题给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。...原创 2019-10-02 09:36:34 · 104 阅读 · 0 评论 -
27 移除元素
文|Seraph01 | 问题给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2,...原创 2019-10-02 09:37:54 · 74 阅读 · 0 评论 -
28 实现strStr()
文|Seraph01 | 问题实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = “hello”, needle = “ll”输出: 2示例 2:输入: haystack = “a...原创 2019-10-02 09:39:02 · 86 阅读 · 0 评论 -
35 搜索插入位置
文|Seraph01 | 问题给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,...原创 2019-10-02 09:39:52 · 97 阅读 · 0 评论 -
38 报数
文|Seraph01 | 问题报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1、 12、 113、 214、 12115、 1112211 被读作 “one 1” (“一个一”) , 即 11。11 被读作 “two 1s” (“两个一”), 即 21。21 被读作 “one 2”, “one 1”...原创 2019-10-02 09:40:40 · 247 阅读 · 0 评论 -
53 最大子序和
文|Seraph01 | 问题给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。02 |解题初解:每次循环判断是...原创 2019-10-02 09:41:36 · 102 阅读 · 0 评论 -
58 最后一个单词的长度
文|Seraph01 | 问题给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。说明:一个单词是指由字母组成,但不包含任何空格的字符串。示例:输入: “Hello World”输出: 5###02 |解题####初解:遇到字母计数,遇到空格清零,统计到最后一个长度即为最后一个单词长度。同时,需要考虑最后很多空...原创 2019-10-02 09:42:31 · 87 阅读 · 0 评论 -
华为机试在线训练-牛客网(c++)
字符串最后一个单词的长度#include <iostream>#include <string>using namespace std;int main(){ string strIN; int iLen=0; while(cin>>strIN) { iLen=strIN.size(); }...原创 2019-09-30 22:29:24 · 1227 阅读 · 0 评论