自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 二叉搜索树变成链表

1、描述二叉树数据结构TreeNode可用来表示单向链表(其中left置空,right为下一个链表节点)。实现一个方法,把二叉搜索树转换为单向链表,要求依然符合二叉搜索树的性质,转换操作应是原址的,也就是在原始的二叉搜索树上直接修改。返回转换后的单向链表的头节点。注意:本题相对原题稍作改动示例:输入: [4,2,5,1,3,null,6,0]输出: [0,null,1,null,2,null,3,null,4,null,5,null,6]来源:力扣(LeetCode)链接:https://l

2021-03-29 22:05:27 631

原创 斐波

动态规划,斐波那契数求出第n个数:notes取模:1e9+7:1后面9个0,然后再加7,也就是1000000007;取模求一个取一下class Solution {public: int fib(int n) { size_t a=0; size_t b=1; size_t c=1; if(n == 0) return 0; if(n == 1 ) return 1;

2021-03-29 20:16:03 198

原创 二叉树的坡度01

1、描述给定一个二叉树,计算 整个树 的坡度 。一个树的 节点的坡度 定义即为,该节点左子树的节点之和和右子树节点之和的 差的绝对值 。如果没有左子树的话,左子树的节点之和为 0 ;没有右子树的话也是一样。空结点的坡度是 0 。整个树 的坡度就是其所有节点的坡度之和。来源力扣(LeetCode链接著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。2、关键字二叉树,左子树右子树权值做差,每层累加3、思路递归,递归函数返回值不是void而是int,递归函数返回当前节点和左右子

2021-03-29 19:43:22 100

原创 判断二叉树的范围,

文章目录1、描述2、关键字3、思路4、notes5、复杂度6、code1、描述给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和。2、关键字二叉搜索树、区间3、思路dfs,先根遍历,一层一层比较当前值,递归,先写当前val,再判断左右子树4、notes递归函数,返回值写成void,然后通过一个全局变量保存结果2、给出的主函数,不能重定义全局变量,不然不是同一个变量,没有结果5、复杂度时间:O(N)节点个数空间:O(H)高度6、code

2021-03-29 11:08:57 111

原创 分卡牌

文章目录1、描述2、思路3、notes4、复杂度:5、code1、描述给定一副牌,每张牌上都写着一个整数。此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组:每组都有 X 张牌。组内所有的牌上都写着相同的整数。仅当你可选的 X >= 2 时返回 true。示例 1:输入:[1,2,3,4,4,3,2,1]输出:true解释:可行的分组是 [1,1],[2,2],[3,3],[4,4]示例 2:输入:[1,1,1,2,2,2,3,3]输出:fals

2021-03-25 18:40:31 173

原创 链表去重002

文章目录1、描述2、关键字3、思路4、notes5、复杂度6、code1、描述存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字。返回同样按升序排列的结果链表。链接著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。2、关键字链表、去重、重复的一个都不留,3、思路遍历,如果相等 就临时记录后面两个值,便于去重,如果不等就直接往后移动就好了4、notes1、链表使用之前先判断非空5

2021-03-25 17:42:23 96

原创 四、网络编程xml004

xml格式注释:<!-- 注释 --><?xml version="1.0" encoding ="UTF-8"?>树结构的标签,根标签(只有一个)2、解析minixml库:可解析未定义的引用错误:因为只有声明,没有实现。缺少一些动态库:加上就好了这个libmxml.so库,安装在了 /usr/local/lib目录下gcc testmxml.c -o mytest // 缺少libmxml.so库gcc testmxml.c -lmxml -o myt

2021-03-24 22:01:55 78

原创 扁平化嵌套列表迭代器

文章目录1、描述2、关键字3、思路4、notes5、复杂度6、code1、描述给你一个嵌套的整型列表。请你设计一个迭代器,使其能够遍历这个整型列表中的所有整数。列表中的每一项或者为一个整数,或者是另一个列表。其中列表的元素也可能是整数或是其他列表。示例 1:输入: [[1,1],2,[1,1]]输出: [1,1,2,1,1]解释: 通过重复调用 next 直到 hasNext 返回 false,next 返回的元素的顺序应该是: [1,1,2,1,1]。来源:力扣(LeetCode)链接

2021-03-23 11:50:09 97

原创 字符串替换其中的问号e

文章目录1、目录2、关键字3、思路4、notes5、复杂度6、code1、目录给你一个仅包含小写英文字母和 ‘?’ 字符的字符串 s,请你将所有的 ‘?’ 转换为若干小写字母,使最终的字符串不包含任何 连续重复 的字符。注意:你 不能 修改非 ‘?’ 字符。题目测试用例保证 除 ‘?’ 字符 之外,不存在连续重复的字符。在完成所有转换(可能无需转换)后返回最终的字符串。如果有多个解决方案,请返回其中任何一个。可以证明,在给定的约束条件下,答案总是存在的。来源:力扣(LeetCode)链接著作

2021-03-22 22:49:23 399

原创 四、网络编程epoll-udp003

复习:之前的多进程、多线程实现多个连接请求的时候,程序员既要管理监听,又要管理通信。select委托内核去做客服端连接请求的监听,程序员专注于通信,需要给内核一些数据:就是select参数,sizeof得出的单位是字节循环委托内核做监听检测4、epollgdb 调试gcc test.c -g -lpthreadgdb ./a.out进入gdb调试界面:set args 9898 // 设置出入参数rquit1、3个函数int epoll_create( int size);此

2021-03-20 22:18:00 425 4

原创 后缀表达式求值

1、描述根据 逆波兰表示法,求表达式的值。有效的算符包括 +、-、*、/ 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。示例 1:输入:tokens = [“2”,“1”,"+",“3”,"*"]输出:9解释:该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 9来源:力扣(LeetCode)链接著作权归领扣网络所有。商业转载请联系官方授权,非

2021-03-20 17:00:08 300

原创 四、网络编程select002

3-7文章目录1、网络基础2、TCP3次握手-并发3、TCP状态转换(select-poll)4、epoll-UDP5、 广播组播,本地套接字6、libevent7、xml,json1、网络基础2、TCP3次握手-并发3、TCP状态转换(select-poll)4、epoll-UDP5、 广播组播,本地套接字6、libevent7、xml,json...

2021-03-18 23:32:37 91

原创 翻转链表中的一段

1、描述92、给你单链表的头节点 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。来源:力扣(LeetCode)链接著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。2、关键字链表、翻转、从中间指定位置,3、思路之前做过类似的:迭代法:3步:1、保存当前节点的后一个节点,2、后项指前项3、前进:左边赋值成当前节点,当前节点赋值成第一步中保存的后一

2021-03-18 13:34:03 160

原创 连续数组求最长子段和

文章目录1、描述2、关键字3、思路4、notes5、复杂度6、code1、描述给定一个整数数组,找出总和最大的连续数列,并返回总和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。来源:力扣(LeetCode)链接著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。2、关键字数组,连续最大子段和,3、思路dp,一趟遍历,更新dp数组,当前dp[i]的来路,要么是dp[i-1]+数组当前

2021-03-17 22:29:26 478

原创 不同的子序列公共子串

1、描述115给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。字符串的一个 子序列 是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,“ACE” 是 “ABCDE” 的一个子序列,而 “AEC” 不是)题目数据保证答案符合 32 位带符号整数范围。示例 1:输入:s = “rabbbit”, t = “rabbit”输出:3解释:如下图所示, 有 3 种可以从 s 中得到 “rabbit” 的方案。(上箭头符号 ^ 表示

2021-03-17 17:05:16 114

原创 数据库操作005

1、练习eg1、查询编号>3的女神的男朋友详细信息,如果没有使用null填充mysql> select b.id,b.name,bo.* -> from beauty b left outer join boys bo -> on b.'boyfriend_id'=bo.'id' -> where b.'id'>3;eg2、查询哪个城市没有部门?mysql> select city,d.* -> from locati

2021-03-16 18:15:09 224

原创 方阵解螺旋002

1、描述59给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。题目链接姊妹篇2、关键字矩阵复原3、思路模拟4、notes拷贝昨天的代码5、复杂度时间O(N平方)空间O(N平方)6、code#define right 1#define down 2#define left 3#define up 0class Solution {public: vector<vector<

2021-03-16 15:44:47 91

原创 最长非连续公共子串002

1、描述1143给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序列。若这两个字符串没有公共子序列,则返回 0。示例 1:输入:text1 = “abcde”, text

2021-03-16 15:12:45 329

原创 最长连续公共子数组,子串,本科001

文章目录1、描述2、关键字3、思路4、notes5、复杂度6、code1、描述718最长连续公共子串,给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。示例:输入:A: [1,2,3,2,1]B: [3,2,1,4,7]输出:3解释:长度最长的公共子数组是 [3, 2, 1] 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-length-of-repeated-subarray著作权归

2021-03-16 13:24:21 226

原创 矩阵螺旋遍历001

1、描述54给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。遍历2、关键字矩阵。遍历3、思路二维数组遍历,设计一个标记,记录是否遍历过了然后贪吃蛇一样搞一个蛇头,按当前方向前行,遇到边界就变向使用宏定义方式更方便阅读变向时候的边界细节处理,先遍历到边界外,再退回来,换到下一个方向4、notes可使用宏定义。while循环内if-else使用else if可以不写同一行也行。5、复杂度时间:O(NM)空间:O(NM)6、code

2021-03-15 11:31:14 183

原创 删除链表的倒数第n个元素

1、描述19、给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。进阶:你能尝试使用一趟扫描实现吗?2、关键字链表、到数n3、思路双指针4、note链表常用技巧设置一个哑巴前置头节点,语法: ListNode* dumpNode=new ListNode(0,head); // 构造哑节点特殊情况:链表为空!和链表长度不到 n5、复杂度:时间:O(N)空间:O(1)6、code/** * Definition for singly-linked list.

2021-03-12 22:29:05 132

原创 最大子段和0004

1、描述53给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。2、思路dp找dp数组,3、code//1暴力,就是直接遍历两边就好了class Solution {public: int maxSubArray(vector<int>& nums) { i

2021-03-11 16:54:45 117

原创 别人面试的题,借鉴

1、设计模式1.1创建型模式:工厂方法

2021-03-09 11:00:21 345

原创 阿里面试题+项目

//评测题目: 无集群有什么评测指标?老师对同学有什么要求指标?功耗,散热,节点挂了能感知吗?有什么管控策略消除节点隐患?会等待吗?挂了会怎么样?怎么解决?探活,怎么探活?增加一个树莓派?网络连不上,怎么搞定的?brpc的架构组成?面向对象常见的设计模式?一些原则?简单工厂模式(接口)工厂方法模式(接口)单例设计模式(多线程)怎么提高吞吐量?大部分程序员都是工作在应用层,针对应用级别代码能提高吞吐量的建议:加大应用的进程数,增加并发数,特别在进程数是瓶颈的情况下优化线程调用,尽

2021-03-09 07:58:19 247 1

原创 二叉树的非递归深度优先

二叉树的初始化问题,深度优先,就是中序遍历,递归的话就是先左子树,再右子树,如果是非递归就借助栈数据结构,根节点入栈弹出,再右子树先入栈,左子树在入栈#include<iostream>#include<vector>#include<string>#include<queue>#include<stack>using namespace std;struct TreeNode { int val; TreeNode *lef

2021-03-08 18:02:45 135

原创 模拟行走机器人001

1、描述链接机器人在一个二维平面上行走,二维平面有障碍物,以坐标形式给出。机器人可以左转和右转,前行3种状态。求给定机器人行动动作数组,完成过程中的最大欧氏距离?2、关键字二维数组3、思路贪心?每次一个动作完成之后,进行最大值更新使用map和set进行障碍物的初始化!根据map中的第一个横坐标,把该横坐标对应的所有纵坐标上有障碍物的,进行构造map映射,参照题解模拟这个机器人的构造过程!3.1 如果是3个方向如果再加一个后转,也就是直接(dir+2)%4而已!!!4、notes转向

2021-03-06 21:42:50 116

原创 下一个更大的数字,循环数组单调栈

文章目录1、描述2、关键字3、思路4、notes5、复杂度:6、code1、描述503给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1。示例 1:输入: [1,2,1]输出: [2,-1,2]解释: 第一个 1 的下一个更大的数是 2;数字 2 找不到下一个更大的数;第二个 1 的下一个最大的数需要循

2021-03-06 11:31:14 198

原创 俄罗斯套娃子

1、描述354给定一些标记了宽度和高度的信封,宽度和高度以整数对形式 (w, h) 出现。当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。请计算最多能有多少个信封能组成一组“俄罗斯套娃”信封(即可以把一个信封放到另一个信封里面)。说明:不允许旋转信封。示例:输入: envelopes = [[5,4],[6,4],[6,7],[2,3]]输出: 3解释: 最多信封的个数为 3, 组合为: [2,3] => [5,4] => [6,

2021-03-04 17:30:34 141 1

原创 LIS最长递增子序列的长度、个数

文章目录1、描述2、关键字3、思路4、notes5、复杂度6、code1、描述给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。示例 1:输入:nums = [10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。示例 2:输入:nums = [0,1,0,3,

2021-03-04 17:15:19 163 1

原创 卡车拉货

1、描述卡车上的最大单元数,卡车装箱子的个数确定,箱子容量不确定,给定一串元组,元组第一个元素表示当前箱子的个数,元组的第二个元素表示当前箱子的容量。题目给出的一串元组用二维数组给出,然后给出卡车能装的箱子个数,求卡车的容量2、关键字,最大容量3、思路把箱子的容量进行排序。然后把容量最大的几个箱子装上去。贪心算法4、notes谓词:回调函数的使用:直接只写名字就行。2、谓词:的写法:升序排列使用<小于号!写成static静态函数3、即使直接使用vector的第2个元素也可以

2021-03-02 23:58:44 377

原创 删列造序使有序

1、描述944给你由 n 个小写字母字符串组成的数组 strs,其中每个字符串长度相等。这些字符串可以每个一行,排成一个网格。例如,strs = [“abc”, “bce”, “cae”] 可以排列为:abcbcecae你需要找出并删除 不是按字典序升序排列的 列。在上面的例子(下标从 0 开始)中,列 0(‘a’, ‘b’, ‘c’)和列 2(‘c’, ‘e’, ‘e’)都是按升序排列的,而列 1(‘b’, ‘c’, ‘a’)不是,所以要删除列 1 。返回你需要删除的列数。示例 1:输入

2021-03-02 19:10:44 115

原创 数据库连接查询004

1、内外交叉连接查询1.1内连接等值查询根据两个表的ID连接查询mysql> select b.name,y.boyname from boys y,beauty b where b.boyfriend_id=y.id;+-----------+-----------+| name | boyname |+-----------+-----------+| 杨颖 | 黄晓明 || 热巴 | 鹿晗晗 || 周芷若 | 张无忌

2021-03-02 11:58:47 202

原创 二维前缀和

文章目录1、描述2、关键字3、思路4、notes5、复杂度6、code1、描述给定一个二维矩阵,计算其子矩形范围内元素的总和,该子矩阵的左上角为 (row1, col1) ,右下角为 (row2, col2)。给定 matrix = [[3, 0, 1, 4, 2],[5, 6, 3, 2, 1],[1, 2, 0, 1, 5],[4, 1, 0, 1, 7],[1, 0, 3, 0, 5]]sumRegion(2, 1, 4, 3) -> 8sumRegion(1, 1, 2,

2021-03-02 05:51:02 112

空空如也

空空如也

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

TA关注的人

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