自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 汇编实验:查找匹配字符串

题目要求:查找匹配字符串程序接受用户键入的一个关键字以及一个句子。如果句子中不含关键字则显示‘no math’;如果句子中包含关键字则显示‘math’,且把该字在句子中的位置用十六进制数显示出来。思路:暴力匹配,对于字符串每个字符开头均进行匹配利用串操作指令可简化代码,减少循环注意比较次数为 字符串长度-关键字长度+1若匹配到关键字,则当前 BX寄存器内容 存放即为 当前关键字所在位置 - 1输出进制转换:(1)十进制:将计数器中内容除以10,对个位和十位分别进行 +30H 并输出

2020-06-04 13:31:25 2602 1

原创 Day30-Task44.通配符匹配

题目描述44.通配符匹配给定一个字符串 (s) 和一个字符模式 § ,实现一个支持 ‘?’ 和 ‘*’ 的通配符匹配。‘?’ 可以匹配任何单个字符。‘*’ 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 ? 和 。示例 1:输入:s = “aa”p...

2020-03-30 22:04:58 395

原创 Day29-Task134.加油站

题目描述134.加油站在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i]升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。说明如果题目有解,该答案即为唯一答案。输入数组均为非空数组,且长度相同...

2020-03-29 20:08:25 184

原创 Day28-Task55.跳跃游戏

题目描述55.跳跃游戏给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例1输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3步到达最后一个位置。示例2[3,2,1,0,4]输出: false解释...

2020-03-28 20:01:52 170

原创 Day27-Task455.分发饼干

题目描述455.分发饼干假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。示...

2020-03-27 19:49:35 151

原创 Day26-Task392判断子序列

题目描述392.判断子序列给定字符串 s 和 t ,判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"ae...

2020-03-26 19:51:55 115

原创 Day25-Task122.买股票的最佳时机

题目描述122.买卖股票的最佳时机Ⅱ给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例1输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(...

2020-03-25 10:32:43 125

原创 Day24-Task99.恢复二叉搜索树

题目描述99.恢复二叉搜索树二叉搜索树中的两个节点被错误地交换。请在不改变其结构的情况下,恢复这棵树。示例1输入: [1,3,null,null,2] 1 / 3 \ 2输出: [3,1,null,null,2] 3 / 1 \ 2示例2输入: [3,1,4,null,null,2] 3 / \1 4...

2020-03-24 21:46:16 118

原创 Day23-Task95.不同的二叉搜索树Ⅱ

题目描述95.不同的二叉搜索树Ⅱ给定一个整数 n,生成所有由 1 … n 为节点所组成的二叉搜索树。示例输入: 3输出:[[1,null,3,2],[3,2,null,1],[3,1,null,null,2],[2,1,3],[1,null,2,null,3]]解释:以上的输出对应以下 5 种不同结构的二叉搜索树: 1 3 3 ...

2020-03-23 21:08:51 154

原创 Day22-Task94.二叉树的中序遍历

题目描述94.二叉树的中序遍历给定一个二叉树,返回它的中序 遍历。示例输入: [1,null,2,3] 1 \ 2 / 3输出: [1,3,2]进阶递归算法很简单,你可以通过迭代算法完成吗?题目来源:https://leetcode-cn.com/problems/binary-tree-inorder-traversal/...

2020-03-22 10:51:32 121

原创 Day21-Task104.二叉树的最大深度

题目描述104.二叉树 的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。题目来源:https://leetc...

2020-03-21 16:05:27 151

原创 Day20-Task101.对称二叉树

题目描述101.对称二叉树给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:说明如果你可以运用递归和迭代两种方法解决这个问题,会很加分。解题思路1...

2020-03-20 11:34:51 157

原创 Day19-Task100.相同的树

题目描述100.相同的树给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例1示例2示例3解题思路1.先序遍历若两颗树相同,则两棵树的每一个对应结点值都相同递归遍历两棵树的每一个结点,判断值是否相等若相等则继续遍历该结点的儿子结点,否则 *** return false***时间复杂度:O(n...

2020-03-19 18:18:34 118

原创 Day18-Task10.正则表达式匹配

题目描述10.正则表达式匹配给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符*匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。说明s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。示例1...

2020-03-18 20:54:09 119

原创 Day17-Task5.最长回文子串

题目描述5.最长回文子串给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例1输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例2输入: “cbbd”输出: “bb”解题思路1.暴力法定义一个函数 IsPalindrome 来判断某个子串是否为回文子串,如果是回文子串 return t...

2020-03-17 21:35:42 126

原创 Day16-Task3.无重复最长字串

题目描述3.无重复最长字串给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例1输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例2输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例3输入: “pwwkew”输出: 3解释: 因为无...

2020-03-16 12:27:45 151

原创 Day15-Task20.有效的括号

题目描述20.有效的括号给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/valid-parentheses著作...

2020-03-15 14:02:54 110

原创 厄拉托塞师(Eratosthenes)筛法

Eratosthenes筛法素数的定义质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。素数是不能继续分解的整数,同样也是关于乘法运算的最小整数元素 。Eratosthenes筛法及其原理定理:设n是一个正合数,p是n的一个大于一的因数,则p一定是素数,且p ≤ √n。根据该定理则可得到一个整数为素数的判别法则定理:设n &...

2020-03-14 18:42:34 2656

原创 Day14-Task14.最长公共前缀

题目描述14.最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例1输入: [“flower”,“flow”,“flight”]输出: “fl”示例2输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。说明所有输入只包含小写字母 a-z 。解题思路1.直接法...

2020-03-14 13:38:53 150

原创 Day13-Task13.罗马数字转整数

题目描述13.罗马数字转整数罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符数值I1IV4V5IX9X10XL40L50XC90C100CD400D500CM900M1000––例如, 罗马数字 2 写做 II ,即为两个并列的 ...

2020-03-13 18:01:56 138

原创 Day12-Task23.合并K个排序链表

题目描述23.合并K个排序链表合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例输入:[1->4->5,1->3->4,2->6]输出: 1->1->2->3->4->4->5->6思路1.暴力法将链表中所有元素加入到一个数组中对数组进行排序新建链表,将数组中...

2020-03-12 19:14:34 200

原创 Day11-Task19.删除链表中的倒数第N个结点

题目描述19.删除链表中的倒是第N个结点给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明给定的 n 保证是有效的。进阶你能尝试使用一趟扫描实现吗?解题思路1.单指针+两次...

2020-03-11 14:29:02 107

原创 Day10-Task2.两数相加

题目描述2.两数相加给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:...

2020-03-10 13:40:35 228

原创 Day9-Task141.环形链表

题目描述141.环形链表给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例1输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例2输入:head = [1,2], ...

2020-03-09 16:27:37 147

原创 Day8-Task83.删除排序链表中的重复元素

题目描述83.删除排序链表中的重复元素给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例1输入: 1->1->2输出: 1->2示例2输入: 1->1->2->3->3输出: 1->2->3解题思路直接法因为是排序链表,可以用一个指针遍历链表删除链表中重复元素时间复杂度 O(n)代码如下...

2020-03-08 16:05:58 129

原创 Day7-Task21.合并两个有序链表

题目描述21.he’bing’liang将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例输入:1->2->4, 1->3->4输出:1->1->2->3->4->4思路1.归并从头遍历两个链表,选择较小的一个加入新链表中。当两个链表中有一个为空时,跳出循环,加入剩余链表。...

2020-03-07 17:55:07 131

原创 Day6-Task123.买卖股票的最佳时机 III

题目描述123.买卖股票的最佳时机 III给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/best-time-to-b...

2020-03-06 21:49:47 263

原创 Day5-Task16.最接近的三数之和

题目描述:最接近的三数之和难度中等给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2)....

2020-03-05 19:24:30 136

原创 Day4-Task15.三数之和

题目描述:思路:1排序 + hash_map + 双指针对数组排序将数组中大于0元素放入map设立双指针I,j判断 -(nums[i] + nums[j])能否在map中找到,若能找到,则添加如ans否则继续遍历由于去重不理想,未能全部通过测试在这里插入代码片...

2020-03-04 21:45:02 105

原创 Day3-Task27.移除元素

题目描述:思路:1:双指针,设立两个指针front,rear分别从前后遍历数组,若front == val则将其替换为rear的值,但这种方法无法应对数组元素均为val的情况。2:(拷贝覆盖)根据题解思路,设立双指针i,j;如果nums[j] != val,则更新nums[i]的值,最终返回i。时间复杂度O(n),空间复杂度O(1)。class Solution {public...

2020-03-02 22:58:33 117

原创 Day2-Task26. 删除排序数组中的重复项

题目描述:思路:1.遍历数组,删除重复元素看完题目第一想法,遍历数组,删除数组中重复元素,输出操作完之后的新数组长度。其中遍历一次数组,但由于进行了数组元素删除操作,浪费了很多的时间。时间复杂度O(n^2),占用额外空间O(1).代码如下:class Solution {public: int removeDuplicates(vector<int>& ...

2020-03-01 22:24:43 111

原创 Day1-Task01. 两数之和

暴力法:使用两次循环遍历nums,判断是否存在i,j使得nums[i] + nums[j] == target。如果存在返回{i , j},否则返回{}。时间复杂度O(n^2)class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { for(...

2020-03-01 01:11:02 147

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除