自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++ 重载中比较特别的小点

文章目录前言一、函数重载的匹配方式二、入参的小区别是否会视为重载1.引入库2.读入数据总结 前言 C++ 重载有很多值得注意的地方 简介: 重载——允许在同一作用域中的某个函数和运算符指定多个定义,分别称为函数重载和运算符重载。 一、函数重载的匹配方式 下面说法是否正确? 存在下面重载函数声明: 1)void myfunc(char a); 2)void myfunc(int b); 则下面调用的代码匹配第一个函数 short c=100; myfunc(c); 典型的重载函数参数类型推导,基本就是

2022-04-16 21:20:23 1101 1

原创 leetcode 1371.每个元音字母包含偶数次的最长字符 官答笔记

题目链接 题目要求: 给你一个字符串 s ,请你返回满足以下条件的最长子字符串的长度:每个元音字母,即 ‘a’,‘e’,‘i’,‘o’,‘u’ ,在子字符串中都恰好出现了偶数次。 示例 1: 输入:s = "eleetminicoworoep" 输出:13 解释:最长子字符串是 "leetminicowor" ,它包含 e,i,o 各 2 个,以及 0 个 a,u 。 示例 2: 输入:s = "leetcodeisgreat" 输出:5 解释:最长子字符串是 "leetc" ,其中包含 2 个 e 。

2020-06-15 16:00:16 499

原创 leetcode 132.分割回文串 II 动态规划笔记

题目链接 题目要求: 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。 返回符合要求的最少分割次数。 示例: 输入: "aab" 输出: 1 解释: 进行一次分割就可将 s 分割成 ["aa","b"] 这样两个回文子串。 题目分析: 还是标准的动态规划题目,难点大概就是怎么把它和动态规划联系起来,以及如何不超时= =。 即——dp[i]如何与其子问题联系起来? 答: dp[i] = min(dp[j] + 1)(0<j<i[j + 1, i] 是回文]) 这个式子可以看出是

2020-06-10 16:20:24 165

原创 leetcode 98.验证二叉搜索树 官答笔记

题目链接 题目: 给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 示例 1: 输入: 2 / \ 1 3 输出: true 示例 2: 输入: 5 / \ 1 4 / \ 3 6 输出: false 解释: 输入为: [5,1,4,null,null,3,6]。 根节点的值为

2020-05-29 17:22:35 128

原创 leetcode 221. 最大正方形 笔记

题目链接 题目: 在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。 示例: 输入: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 输出: 4 思路: 一开始想的是偏动态规划的做法,dp[i][j]表示以坐标( i , j )为左上角的最大正方形,现在想想很不对,因为从左上角向右向下依次遍历的子问题的结果并不能帮助后续计算。 这做法本就不符合动态规划。 其实正确思路稍微变换一下就好了,如何让dp[i][j]利用dp[i-1][j-1]之

2020-05-21 15:19:00 108

原创 leetcode 25. K个一组翻转链表 笔记

题目链接 题目: 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。 k 是一个正整数,它的值小于或等于链表的长度。 如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 示例: 给你这个链表:1->2->3->4->5 当 k = 2 时,应当返回: 2->1->4->3->5 当 k = 3 时,应当返回: 3->2->1->4->5 说明: 你的算法只能使用常数的额外空间。 你不能只是单纯的改变节点内

2020-05-16 17:05:47 82

原创 leetcode 45.跳跃游戏II 笔记

题目链接 题目描述: 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 示例: 输入: [2,3,1,1,4] 输出: 2 解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。 这题难度感觉不算是hard。之前先做了跳跃游戏一题,思想和这个比较相似,而这里的代码有一处算是比较巧妙的地方吧:

2020-05-11 19:43:16 102

原创 leetcode 面试题51. 数组中的逆序对 官答笔记

题目链接 题目: 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 示例 1: 输入: [7,5,6,4] 输出: 5 ...

2020-04-26 11:48:22 94

原创 leetcode 1248.优美子数组 官答分析笔记

题目链接 题目: 给你一个整数数组 nums 和一个整数 k。 如果某个 连续 子数组中恰好有 k 个奇数数字,我们就认为这个子数组是「优美子数组」。 请返回这个数组中「优美子数组」的数目。 示例1: 输入:nums = [1,1,2,1,1], k = 3 输出:2 解释:包含 3 个奇数的子数组是 [1,1,2,1] 和 [1,2,1,1] 。 示例2: 输入:nums = [2,4,6],...

2020-04-22 16:17:26 94

原创 leetcode 31.下一个排列 笔记

题目链接 题目: 实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须原地修改,只允许使用额外常数空间。 以下是一些例子,输入位于左侧列,其相应输出位于右侧列。 1,2,3 → 1,3,2 3,2,1 → 1,2,3 1,1,5 → 1,5,1 分析: 一开始我思考的是从左向右遍历,交换...

2020-04-20 17:07:56 60

原创 leetcode 22.括号生成 笔记

题目链接 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例: 输入:n = 3 输出:[ "((()))", "(()())", "(())()", "()(())", "()()()" ] 官方答案: class Solution { public: ve...

2020-04-18 16:38:34 71

原创 leetcode 72.编辑距离,官方答案的修改与分析

题目链接 给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 1.插入一个字符 2.删除一个字符 3.替换一个字符 示例 1: 输入:word1 = "horse", word2 = "ros" 输出:3 解释: horse -> rorse (将 'h' 替换为 'r') rorse ->...

2020-04-06 15:22:48 236

原创 leetcode 820.单词的压缩码 笔记

题目链接 给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A。 例如,如果这个列表是 [“time”, “me”, “bell”],我们就可以将其表示为 S = “time#bell#” 和 indexes = [0, 2, 5]。 对于每一个索引,我们可以通过从字符串 S 中索引的位置开始读取字符串,直到 “#” 结束,来恢复我们之前的单词列表。 那么成功对给定单词列表...

2020-03-28 14:56:39 106

原创 leetcode 11.盛水最多的容器 笔记

class Solution { public: int maxArea(vector& height) { int max_a = 0; int i = 0; int j = height.size() - 1; while (i < j) { int area = (j - i) * min(height[i], height[j]); max_a = max(max_a, ar...

2020-03-18 20:42:36 82

原创 leetcode 300.最长上升子序列 笔记

题目链接 给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入: [10,9,2,5,3,7,101,18] 输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。 说明: 可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。 你算法的时间复杂度应该为 O(n2) 。 进阶: 你能将算法的时间复杂度降低到 O(n log n) 吗? 初始想法...

2020-03-14 21:02:02 90

原创 leetcode第169题笔记(摩尔投票法)

给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入: [3,2,3] 输出: 3 示例 2: 输入: [2,2,1,1,1,2,2] 输出: 2 最先想到的是hash表完成,但耗时严重,这帮人都是怎么想到这么快的。。。 class Solution { publ...

2020-03-13 16:14:33 109

原创 C++内容(自用

说一下C++和C的区别 设计思想上: C++是面向对象的语言,而C是面向过程的结构化编程语言 (面向过程——步骤化 面向过程就是分析出实现需求所需要的步骤,通过函数一步一步实现这些步骤,接着依次调用即可 面向对象——行为化 面向对象是把整个需求按照特点、功能划分,将这些存在共性的部分封装成对象,创建了对象不是为了完成某一个步骤,而是描述某个事物在解决问题的步骤中的行为) 语法上: C++具有封装、...

2020-03-09 21:08:28 361

原创 C++面试各类知识点汇总(自用

计算机网络之划分子网计算 https://blog.csdn.net/gui951753/article/details/79412524更详细一点 将网络21.3.0.0/16划分为128个规模相同的子网: 首先得知道/16对应的子网掩码是255.255.0.0(B类网络) 128=(27)位,故有7位1作为主机位,即255.255.11111110.00000000。9个0作为子网内的IP地址...

2020-03-03 15:34:35 366

原创 C++11 继承构造的调用顺序问题

最近看C++11新特性的时候手闲尝试了一下继承构造的内容,其中发现了很奇怪的调用顺序: 父类Base在有无参数和有参数的构造函数的情况下,子类使用using Base::Base;可以继承父类所有的构造函数,没毛病。 但子类如果后续也分别写了有参数和无参数的构造函数时就出现了如下情况 如下代码: #include <iostream> using namespace std; clas...

2020-03-01 17:31:14 135

原创 leetcode 3.无重复字符的最长子串 C++

思路 用到的东西和第一题比较像,使用的是unordered_map,以此保证复杂度为O(n); 用check依次查找每个字符,如果unordered_map中未找到该字符则存入;若找到则检测最大数max是否小于当前计数count并改动,unordered_map清空,并重开头的指针下一位进行新的查找。 但不知为何提交时其输入"amqpcsrumjjufpu"会报错,我使用的时候并没有。。。 如果有...

2020-02-22 20:10:19 135

原创 scipy.sparse库的某些方法功能说明(自用

diags(diagonals, offsets=0, shape=None, format=None, dtype=None): 从对角线构造稀疏矩阵。 参数 diagonals对角线:行列式序列 包含矩阵对角线的数组序列,对应于“偏移量”。 offsets偏移量:int或int序列,可选 要设置的对角线: -k=0主对角线(默认值) -k>0第k个上对角线 -k<0第k个下对角线 ...

2020-02-08 20:42:32 642

空空如也

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

TA关注的人

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