自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 资源 (1)
  • 收藏
  • 关注

原创 全排列LeetCode中等题

给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。示例 1:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2:输入:nums = [0,1]输出:[[0,1],[1,0]]示例 3:输入:nums = [1]输出:[[1]]class Solution {public: vector<vector<in

2022-02-10 11:48:42 188

原创 合并二叉树LeetCode简单题

给你两棵二叉树: root1 和 root2 。想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点。返回合并后的二叉树。注意: 合并过程必须从两个树的根节点开始。示例 1:输入:root1 = [1,3,2,5], root2 = [2,1,3,null,4,null,7]输出:[3,4

2022-02-10 10:41:37 244

原创 比特位计数LeetCode简单题

给你一个整数 n ,对于0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans 作为答案。示例 1:输入:n = 2输出:[0,1,1]解释:0 --> 01 --> 12 --> 10示例 2:输入:n = 5输出:[0,1,1,2,1,2]解释:0 --> 01 --> 12 --> 103 --> 114 --> 1005 -->.

2022-02-10 09:54:57 345

原创 翻转二叉树 LeetCode简单题

给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。示例 1:输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]示例 2:输入:root = [2,1,3]输出:[2,3,1]示例 3:输入:root = []输出:[]/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left;

2022-02-09 17:51:15 494

原创 子集 LeetCode中等题

给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。示例 1:输入:nums = [1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例 2:输入:nums = [0]输出:[[],[0]]class Solution {public: vector<vector<int>> subsets

2022-02-09 16:53:44 441

原创 寻找下一个结点LeetCode中等题

描述给定树的根结点指针TreeNode*root和结点的值intp,编写一个函数,寻找该二叉树中指定结点的下一个结点(即中序遍历的后继),并返回p结点的后继结点的值。保证结点的值是小于等于100000的正数且没有重复值,若不存在后继返回-1。/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x..

2022-02-08 17:39:35 328

原创 回文链表LeetCode中等题

现给定一个链表ListNode* pHead,定义bool代表链表是否为回文,请编写程序。测试样例:{1,2,3,2,1}返回:true{1,2,3,2,3}返回:false/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) {}};*/class Palindrome {public: bool isPali

2022-02-08 17:06:09 211

原创 求子矩阵的最大和LeetCode中等题

给定一个NxN矩阵mat和矩阵的阶数n,已知矩阵由正整数和负整数组成,请返回元素总和最大的子矩阵的元素之和。要求元素绝对值小于等于100000,尽量高效且矩阵阶数小于等于200。测试样例:[[1,2,-3],[3,4,-5],[-5,-6,-7]],3返回:10class SubMatrix {public: int sumOfSubMatrix(vector<vector<int> > mat, int n) { // write

2022-02-08 14:39:34 430

原创 移位元素查找LeetCode中等题

给定一个数组A及其大小n,同时给定需要查找的元素值x,已知数组A是由一个排过序的数组向左移位了一定长度得到的,请返回x在现数组的位置(位置从零开始)。保证数组中元素互异。测试样例:[6,1,2,3,4,5],6,6返回:0class Finder {public: int findElement(vector<int> A, int n, int x) { // write code here int l=0, r=n-1;

2022-01-27 16:21:26 320

原创 叠罗汉II LeetCode中等题

给定一个二维int的数组actors,每个元素对应两个值,分别代表一个演员的身高和体重。要求一个演员站在另一个演员的肩膀上叠起来,且上面的人要比下面的人轻,下面的人要比上面的人高。同时给定演员总数n,要求返回最多能叠的人数。保证总人数小于等于500。测试样例:[[1,2],[3,4],[5,6],[7,8]],4返回:4class Stack {public: int getHeight(vector<vector<int> > actors, int

2022-01-27 11:52:49 512

原创 加法运算替代LeetCode中等题

给定两个正整数int a,int b,同时给定一个int type代表运算的类型,1为求a * b,0为求a / b,-1为求a - b,但规定只能使用加号,请编写程序返回计算结果,并保证数据合法且结果一定在int范围内。测试样例:1,2,1返回:2class AddSubstitution {public: int calc(int a, int b, int type) { // write code here int res = 0;

2022-01-26 13:22:05 170

原创 小数转化为二进制LeetCode中等题

给定一个double num,范围是0到1的实数,若其能用32位以内的二进制表示出来则返回值string为其二进制值,若不能则返回值为“Error”。测试样例:0.625返回:0.101class BinDecimal {public: string printBin(double num) { // write code here string res = "0."; while(num){ num *

2022-01-26 11:28:40 366

原创 将二叉查找树转换成链表LeetCode中等题

给定二叉查找树的根结点指针root,现编写一个方法,将二叉查找树转换为链表,其中二叉查找树的数据结构用TreeNode实现(包含了val属性和指向其它结点的指针),eft指针表示左儿子,right指针表示右儿子。请返回生成的链表的头指针。/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), lef

2022-01-25 18:27:54 311

原创 清除行列LeetCode中等题

给定一个N阶方阵int[][](C++中为vector<vector<int>>)mat及其阶数n,若方阵中某个元素为0,则将其所在的行与列清零。返回改变后的int[][]方阵(C++中为vector<vector<int>>),保证n小于等于300,矩阵中的元素在nt范围内。</int></vector></int></vector>测试样例:[[1,2,3],[0,1,2],[0,0,1]]返

2022-01-25 17:38:11 445

原创 空格替换LeetCode中等题

给定一个string iniString 及其长度 int len, 已知该字符串中有空格,现要求编写程序将字符串中空格替换为“%20”。返回更改后的string。假设该字符串有足够的空间存放新增的字符,并且知道原字符的长度(小于等于1000),同时保证字符串由大小写的英文字母组成。示例1输入:"Mr John Smith",13返回值:"Mr%20John%20Smith"示例2输入:"Hello World",12返回值:"Hello%20%20Wor

2022-01-25 16:57:00 572

原创 穿点最多的直线LeetCode中等题

已知一个点集vector<point>p和点集的大小n,点都在一个二维平面上且横坐标各不相同,找到一条穿过点数最多的直线,返回值为vector<double>,代表所求直线的斜率和截距。</double></point>方法一:线性回归方程/*struct Point { int x; int y; Point() : x(0), y(0) { } Point(int xx, int

2022-01-24 13:43:49 587

原创 求阶乘末尾零的个数LeetCode中等题

给定一个int n,返回n的阶乘的末尾连续的零的个数。保证n为正整数。测试样例:5返回:1class Factor {public: int getFactorSuffixZero(int n) { // write code here int cnt = 0; while(n){ cnt += n/5; n /= 5; } return cnt;

2022-01-22 13:30:51 74

原创 原串翻转LeetCode中等题

给定一个string iniString,请返回一个string,为该字符串翻转后的结果。要求不使用额外数据结构和储存空间,可以使用单个过程变量,保证字符串的长度小于等于5000。测试样例:"This is nowcoder"返回:"redocwon si sihT"class Reverse {public: string reverseString(string iniString) { // write code here int len

2022-01-22 10:35:40 198

原创 叠罗汉I LeetCode中等题

给定一个int数组men,代表参加一场游戏依次来的每个人的身高,同时给定总人数n,要求一个人站在另一个人肩膀上,且下面的人比上面的人要更高一点。请返回最多能够叠的人数。注意参加游戏的人的先后顺序与原序列中的顺序应该一致保证,且n小于等于500。测试样例:[1,6,2,5,3,4],6返回:4class Stack {public: int getHeight(vector<int> men, int n) { // write code here

2022-01-21 15:11:16 2249

原创 找出字符串LeetCode中等题

给定一个string数组str,其是由一个排过序的字符串数组插入了一些空字符串得到的,同时给定数组大小n和需要查找的stringx,请用时间复杂度在log级别的算法返回该串的位置(位置从零开始)。测试样例:["a","b","","c","","d"],6,"c"返回:3class Finder {public: int findString(vector<string> str, int n, string x) { int l = 0, r .

2022-01-21 14:14:13 318

原创 判断两字符串所包含字符是否完全相同LeetCode中等题

给定string stringA和string stringB,编写程序确认两字符串包含的字符是否完全相同,注意大小写为不同字符,且考虑字符串中的空格,返回一个bool,代表两串是否由一样的字符组成。保证两串的长度都小于等于5000。测试样例:"This is nowcoder","is This nowcoder"返回:true"Here you are","Are you here"返回:falseclass Same {public: bool checkS

2022-01-19 13:34:55 671

原创 约瑟夫问题I LeetCode中等题

已知n个人坐成一圈,按顺时针由1开始给大家编号。然后由第一个人开始顺时针循环报数,数到m的人出局,循环此过程直到最后只剩一个人。给定两个int n和m,要求编写函数返回最后一个人的编号。保证n和m小于等于1000。测试样例:5 3返回:4class Joseph {public: int getResult(int n, int m) { // write code here int tmp = 0; for(int i = 2

2022-01-19 11:09:07 105

原创 单词最近距离LeetCode中等题

给定一个string数组article(有单词构成)和数组中元素的个数n,同时给定数组中的两个单词x和y。请返回这两个单词的最短距离(比如两个单词分别在第1和第3个位置,则最短距离为2)。保证两个单词不相同且均在数组中出现,同时保证数组中单词数小于等于1000。class Distance {public: int getDistance(vector<string> article, int n, string x, string y) { // write c

2022-01-19 10:49:05 302

原创 最大连续数列和LeetCode简单题

给定一个有正有负的整数数组A及其大小n,返回从前往后相加最大的连续数列的和。保证n的大小小于等于3000。测试样例:[1,2,3,-6,1]返回:6class MaxSum {public: int getMaxSum(vector<int> A, int n) { // write code here int res = A[0], tmp = 0; for(int i = 0; i < n; i++){

2022-01-18 15:03:21 436

原创 维护x的秩LeetCode简单题

已知一个数组A及它的大小n,在读入这串数的时候算出每个数的秩,即在当前数组中小于等于它的数的个数(不包括它自身)。从而返回一个int数组,元素为每次加入的数的秩。保证数组大小小于等于5000。测试样例:[1,2,3,4,5,6,7],7返回:[0,1,2,3,4,5,6]class Rank {public: vector<int> getRankOfNumber(vector<int> A, int n) { // write cod

2022-01-18 14:35:52 48

原创 下一个较大元素II LeetCode简单题

给定一个int正整数数组A及其大小n,请找出数组中每个元素的后面比它大的最小的元素,若不存在则为-1。并返回每个元素对应的值组成的那个数组。保证n小于等于1000。测试样例:[11,13,10,5,12,21,3],7[12,21,12,12,21,-1,-1]方法一class NextElement {public: vector<int> findNext(vector<int> A, int n) { // write cod

2022-01-18 14:09:26 587 1

原创 数组中的逆序个数LeetCode简单题

给定一个int数组A和它的大小n,对于这组数能组成的任意两个数组,若前面一个大于后面一个数字,则这两个数字组成一个逆序对。请设计一种高效的算法返回A中存在的逆序对个数。要求n不大于5000。测试样例:[1,2,3,4,5,6,7,0],8返回:7class AntiOrder {public: int count(vector<int> A, int n) { // write code here int cnt = 0;

2022-01-17 16:46:58 152

原创 求平分两个正方形的直线LeetCode简单题

给定两个vecotrA和B,分别代表平面上两个正方形的四个顶点。已知正方形上下两条边与x轴平行,请找出一条直线,能够平分这两个正方形,返回值为vector,代表所求直线的斜率和截距,注意保证斜率存在。测试样例:[(0,0),(0,1),(1,1),(1,0)],[(1,0),(1,1),(2,0),(2,1)]返回:[0.0,0.5]/*struct Point { int x; int y; Point() : x(0), y(0)

2022-01-17 16:28:18 372

原创 最大字母矩阵LeetCode简单题

给定一个string数组dic,代表单词列表,同时给定列表的长度n,请返回最大子矩阵的面积,其中子矩阵中的行和列相同,且有相同字母组成。保证单词的大小小于等于50,且某一长度的串的数量小于等于12。测试样例:["aaa","aaa","aaa","bb","bb"]返回:9题目描述的比较模糊,实际上只是想求出给定容器中连续单词的个数与该单词的长度的乘积的最大值。class AlphaMatrix {public: int findAlphaMatrix(vector&lt

2022-01-15 17:39:05 216

原创 二叉树平衡检查LeetCode简单题

平衡的定义如下,已知对于树中的任意一个结点,若其两颗子树的高度差不超过1,则我们称该树平衡。现给定指向树根结点的指针TreeNode*root,请编写函数返回一个bool,表示该二叉树是否平衡。/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) .

2022-01-15 15:54:30 152

原创 魔术索引II LeetCode简单题

已知一个数组A[0..n-1]和其大小n(不下降序列,元素值可能相同),判断是否存在A[i]=i,返回值为bool,要求时间复杂度小于o(n)。测试样例:[1,1,3,4,5]返回:true一、常规法class MagicIndex {public: bool findMagicIndex(vector<int> A, int n) { // write code here if(n == 0) return false;

2022-01-15 14:58:16 143

原创 下一个较大元素I LeetCode简单题

给定一个int数组A及其大小n,返回一个int数组,int数组中的元素是原数组中每个元素比他大的下一个元素,若不存在则为-1。保证数组中元素均为正整数。测试样例:[11,13,10,5,12,21,3],7返回:[13,21,12,12,21,-1,-1]class NextElement {public: vector<int> findNext(vector<int> A, int n) { // write code here

2022-01-11 17:24:08 423

原创 翻转子串LeetCode简单题

给定2个字符串s1和s2,请判断s2是否为s1旋转而成,返回bool值。字符串中字符为英文字母和空格,区分大小写,字符串长度小于等于1000。测试样例:"Hello world","worldhello "返回:false"waterbottle","erbottlewat"返回:true方法一:直接查找class ReverseEqual {public: bool checkReverseEqual(string s1, string s2) {

2022-01-10 13:54:01 158

原创 合法括号序列判断LeetCode简单题

给定一个字符串A和其长度n,请返回一个bool值代表它是否为一个合法的括号串(只能由括号组成)。测试样例:"(()())",6返回:true测试样例:"()a()()",7返回:false测试样例:"()(()()",7返回:falseclass Parenthesis {public: bool chkParenthesis(string A, int n) { // write code here int c

2022-01-10 11:39:50 258

原创 机器人走方格I LeetCode简单题

给定两个正整数int x,int y,代表一个x乘y的网格,现有一个机器人要从网格左上角顶点走到右下角,每次只能走一步且只能向右或向下走,返回机器人有多少种走法。保证x+y小于等于12。测试样例:2,2返回:2class Robot {public: int countWays(int x, int y) { // write code here if(x==1 || y==1) return 1; return countWa

2022-01-10 10:19:46 495

原创 高度最小的BST LeetCode简单题

描述给定一个元素各不相同的有序序列int[] vals(升序排列),请编写算法创建一棵高度最小的二叉查找树,并返回二叉查找树的高度。class MinimalBST {public: int buildMinimalBST(vector<int> vals) { // write code here if(vals.size() == 0) return 0; return log2(vals.size()) + 1;

2022-01-10 10:00:25 202

原创 奇偶位交换LeetCode简单题

给定一个int x,交换其二进制的奇数位和偶数位,并返回交换后的数int。测试样例:10返回:5class Exchange {public: int exchangeOddEven(int x) { // write code here int odd = (x & 0x55555555) << 1; int even = ((x & 0xaaaaaaaa) >> 1) & 0x

2022-01-08 16:14:25 421

原创 井字棋LeetCode简单题

给定一个二维数组board,代表棋盘,其中元素为1的代表是当前玩家的棋子,0表示没有棋子,-1代表是对方玩家的棋子。当一方棋子在横竖斜方向上有连成排的及获胜(及井字棋规则),返回当前玩家是否胜出。测试样例:[[1,0,1],[1,-1,-1],[1,-1,0]]返回:trueclass Board {public: bool checkWon(vector<vector<int> > board) { // write code her

2022-01-08 14:19:53 641

原创 判断字符串中是否包含子串LeetCode简单题

给定一个string数组p及其大小n,同时给定长字符串string s,请返回一个bool数组,元素为true或false对应p中的对应字符串是否为s的子串。要求p中的串长度小于等于8,且p中的串的个数小于等于500,同时要求s的长度小于等于1000。测试样例:["a","b","c","d"],4,"abc"返回:[true,true,true,false]class Substr {public: vector<bool> chkSubStr(vector&

2022-01-08 13:33:23 828

原创 魔术索引I LeetCode简单题

已知数组A[0..n-1]和数组大小n(升序数组,元素值各不相同),若存在A[i]=i则称该数组有魔术索引,请判断该数组是否存在魔术索引,返回值为bool,要求复杂度优于o(n)。测试样例:[1,2,3,4,5]返回:falseclass MagicIndex {public: bool findMagicIndex(vector<int> A, int n) { // write code here if(n == 0) retu

2022-01-07 18:04:04 535

飞机大作战工程文件UE4.26

博主学习siki学院的免费课程飞机大作战过程中所制作的所有工程文件,使用的虚幻引擎版本为4.26,可以直接打开运行。仅供学习,如需下载可以私聊我,我分享给你。

2021-12-03

空空如也

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

TA关注的人

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