自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Hot100 二叉树 相关题目总结

然后对左节点和右节点做深度优先遍历,具体遍历方式见代码,还是比较好理解的。使用回溯的思想,用一个变量来动态地记录当前深度。首先判断根节点是否为空,为空直接返回。对于一个二叉树节点,其左子树是。后的右子树,右子树是。

2024-04-30 23:17:37 486 1

原创 Hot100 技巧 相关题目总结

异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运> 算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位,所以异或常被认作不进位加法。可以把不同数字想象不同阵营的士兵,他们都急于抢占高地,而由于数组中有一个元素的个数是大于。的,那么最后肯定是这个多数元素抢占到高地,返回这个元素即可。如果没找到终止点(即数字呈递增状态,如。中142题的做法即可找到这个数了。),直接翻转数字整体即可(

2024-04-27 15:03:31 755

原创 Hot100 链表 相关题目总结

利用快慢指针把链表分为两部分,利用206题的代码反转第二部分链表(反转第一部分也可,看个人喜好),然后从两部分的head开始,从前向后遍历,直至某个head遍历到了。这道题需要用到哨兵节点,哨兵节点是一种特殊节点,它在链表或树等数据结构中用于简化边界情况的处理。这道题考察链表的一个基础操作,代码比较短小精悍,是后面很多题目的基础。哨兵节点可以帮助简化一些操作,就这题来说,可以创建一个哨兵节点来当作合并链表的。这题是上一题的加强版,如果链表有环,需要返回环的起始点。,快指针在环里循环遍历的节点数为。

2024-04-24 22:29:58 1076

原创 Hot100 哈希 相关题目总结

是否存在,如果存在,则将当前元素存储到下标所对应的vector中;否则,新开一个vector存储这个元素。使用for循环进行遍历,每遍历到一个元素,使用一个临时变量记为。,如果有,则找到了一个结果,直接返回即可。,则在集合中查找是否有数字等于。

2024-04-23 22:44:59 641

原创 【加密算法】RSA算法

网络安全RSA加密算法

2022-11-11 00:46:31 584

原创 常用latex、markdown数学符号对照表

下面是一些我自己写文档的时候用到的一些数学符号.以前经常也会在csdn上搜这些符号相对应的助记符,这次我自己总结了一些,主要是为了自己查阅方便,希望也可以顺便帮助大家写公式,嘿嘿.1234\alpha -> α\alphaα\beta -> β\betaβ\gamma -> γ\gammaγ\Gamma -> Γ\GammaΓ\delta -> δ\deltaδ\Delta -> Δ\DeltaΔ\epsilon -> ϵ\

2022-03-25 18:19:13 1827

原创 dijkstra算法

dijkstra算法理解迪杰斯特拉算法是基于贪心策略的.如果我们能找到一条全局最优的路,那么它的子路一定是局部最优的.若不是,则我们可以找到一条子路来替代这条子路,使得总的距离最小,那么就矛盾的.基于这个想法,可以从起点开始遍历,更新起点到各节点的最小距离.事实上,迪杰斯特拉算法不仅能得到起点到终点的最短距离,它还能得到起点到任意节点的最短距离.只需这样做,首先初始化起点到各节点的距离(不能直接到达的节点,它们之间的距离为正无穷).找到与起点距离最短的节点,以该节点为原点进行遍历.寻找是否有某个节

2021-04-11 22:34:55 263

原创 1648.销售价值减少的颜色球

感想这题真是绝了,A了好久都A不出来.一直在纠结数值溢出的问题,最后索性全用long long了,我就不信还能溢出了.既然写了这么久,还是写个博客纪念一下吧.整体思路就是排序加二分搜索.排序很简单,略过不表.二分搜索是为了找到一个边界值,它将数组一分为二,大于此值的数值是都要取的;等于此值的数值选择性选取,能凑够需要的球数即可.这样就得到了最大值.代码class Solution {private: int constant = 1000000000+7;public: lon

2021-04-11 16:26:24 168

原创 排序算法

冒泡排序template <typename T> bool Vector<T>::bubble(Rank lo,Rank hi){ //一趟扫描交换 bool sorted=true; //整体有序标志 while(++lo<hi) //自左向右,逐一检查各对相邻元素 if(_elem[lo-1]>_elem[lo]){ //...

2021-04-10 15:38:49 51

原创 markdown学习笔记

Hello world!markdown也用了一段时间了.从当初的小白到现在可以熟练操作大部分内容,还是练习了很久的.我认为掌握这类工具最快速的方法就是去使用它,而不是去背它的语法.那样没有用处,没过几天就会被忘得一干二净了.所以,如果你正在尝试使用markdown去记录你生活的点滴,不管你现在掌握程度如何,跟着网上的教程去练习吧.相信我,不用过多久,你就会很熟练了.下面我来介绍一下markdown的常用语法.标题一篇文章,要让人看得赏心悦目,它的主次结构一定是极好的.对于markdown,我们可以

2021-04-06 21:52:35 155

原创 一些问题

一些问题cout不明确删除namespace,保存.再加上namespace即可const在不同位置中的作用 (1) Int const *p; (2) int *const p; (3) int a;int const &p=a; (4) int function(const int a); (5) int function(const int &a); (6) int const function(int a); (7) int const &functio

2021-03-30 20:03:51 90

原创 各种字符表示方式的转换

各种字符表示方式的转换转化总结形式如下使用时,要对源格式和目标格式进行初始化。源格式赋值为具体的内容,目标格式赋值为空。源格式&目标格式stringconst char*char*char[]stringNULLconst char* = string.c_str();const char* = string.c_str(); char* = <const_cast><char*>(const char*);for(int i = 0;

2021-03-30 20:01:57 555

原创 c++输入输出

Chapter17 输入、输出和文件本章内容包括:C++角度的输入和输出iostream类系列重定向ostream类方法格式化输出istream类方法流状态文件I/O使用ifstream类从文件输出使用ofstream类输出到文件使用fstream类进行文件输入和输出命令行处理二进制文件随机文件访问内核格式化17.1 C++输入和输出概述17.1.1 流和缓冲区对键盘输入进行缓冲可以让用户在将输入传输给程序之前返回并更正。C++程序通常在用户按下回车键时刷新缓冲区。

2021-03-30 19:57:16 323

原创 string类和标准模板库

Chapter 16 string类和标准模板库这一章感觉难度突增啊,看得我脑壳痛string类内容:大致上来说就是介绍一下string类,然后说明一下它的用法string的构造函数Size_type是一个依赖于实现的整型。string::npos为字符串的最大长度,通常为unsignedint 的最大值。NBTS(null-terminated string)表示以空字符结束的字符串string(const char *s)将string对象初始化为s指向的NBTSstring(siz

2021-03-30 19:51:07 189

原创 使用类

使用类运算符重载格式如下:operatorop(argument_list)例如operator+()这将重载“+”运算符。如果A、B、C都是类D的对象就可以这样用:A=B+c。其中,运算符左侧的对象是调用对象,右侧的则是作为参数被传递的对象。重载限制:重载后的运算符必须至少有一个操作数是用户定义的类型使用运算符时不能违反运算符原来的句法规则,同样,不能修改运算符的优先级不能创建新运算符不能重载某些运算符某些运算符只能通过成员函数重载的运算符类的自动转换和强制类型转换例1自

2021-03-30 19:45:54 485

原创 位运算

常用位运算操作判断奇偶x & 1 == 1 equals to x % 2 == 1x & 1 == 0 equals to x % 2 == 0右移 & 左移位x >> 1x << 1去掉最低位的二进制一x &= x-1得到最低位的一x & -x指定位置的位运算将x最右边的n位清零x & (~0 << n)获取x的第n位的值(x >> n) & 1...

2021-03-27 13:23:30 117

原创 61.旋转链表

题目描述Given the head of a linked list, rotate the list to the right by k places.解答/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : v

2021-03-27 10:44:35 92

原创 73. 矩阵置零

题目描述给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。题解class Solution {public: void setZeroes(vector<vector<int>>& matrix) { vector<vector<int> > path; for(int i = 0; i < matrix.siz

2021-03-21 09:05:22 80

原创 62&&63. 不同路径

62题目描述一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?解答class Solution {public: int uniquePaths(int m, int n) { vector<vector<int>> group(m, vector<int>(

2021-03-20 22:19:51 51

原创 150.逆波兰表达式求值

题目描述根据 逆波兰表示法,求表达式的值。有效的算符包括 +、-、*、/ 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。解答#include <stack>#include <vector>#include <iostream>using namespace std;class Solution {public:

2021-03-20 20:17:56 51

原创 53. 最大子序和

题目描述给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。解答class solution {public: int maxsubarray(vector<int>& nums) { if(nums.size() == 1) return nums[0]; vector<int> result(nums.size()); resu

2021-03-20 13:21:21 44

原创 198&&213&&337. 打家劫舍系列

题目描述你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。解答class Solution {public: int rob(vector<int>& nums) { vector<int> res

2021-03-19 21:39:07 53

原创 121. 买卖股票的最佳时机

题目描述给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。解答class Solution {public: int climbStairs(int n) { int p = 0, q = 0, r = 1; f

2021-03-18 20:02:03 50

原创 vim学习笔记

Vim noteusr_02.txt the first steps in Vim02.1 Running Vim for the First Time02.2 Inserting textset showmode (option)display the mode at thr bottom of the window02.3 Moving around02.4 Deleting charactersx – delete a characterdd – delete a l

2021-03-17 22:25:04 499

原创 正则表达式学习笔记

正则表达式入门匹配字符char 可以直接匹配字符. 点可以匹配任意字符,而且可以以任意数目出现,如..,.a..而要匹配.本身的字符,则需要用反斜杠(元字符,)进行转义.匹配一组字符元字符[]在这个括号内, 可以定义我们想要搜索的字符集合举例:[ns] 枚举想要搜索的字符[a-z] 按范围搜索字符[a-zA-Z0-9] 上述两种方式结合[^0-9] 不匹配括号内的字符匹配特定的字符类别匹配数字(与非数字)\d ~ [0-9]\D ~ [^0-9]匹配字母和数字(与非

2021-03-17 22:22:53 115

空空如也

空空如也

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

TA关注的人

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