自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 百度codetop-4

1、从前序与中序遍历序列构造二叉树 根据一棵树的前序遍历与中序遍历构造二叉树。 class Solution { public: unordered_map<int, int> map; int preindex; TreeNode* buildTree(vector<int>& preorder, vector<int>& inorder) { int n = inorder.size(); for(int i = 0; i < n;

2021-07-10 17:26:00 156

原创 百度codetop-3

1、爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? class Solution { public: int climbStairs(int n) { int p = 0, q = 0, r = 1; while(n--){ p = q; q = r; r = p + q; } return r; } }; 2、最小的k个数 输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、

2021-07-10 15:47:32 209

原创 百度codetop-2

1、有效括号 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。 class Solution{ public: bool isValid(string s) { int len = s.size(); if(len % 2 == 1) return false; unordered_map<char, int> map{{'(', 1}, {'[', 2}, {'{', 3}, {')', 4}, {']', 5}, {'}

2021-07-04 14:18:49 126

原创 百度 codetop

1、反转链表 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 class Solution { public: ListNode* reverseList(ListNode* head) { ListNode* cur = head; ListNode* pre = nullptr; while(cur){ ListNode* tmp = cur->next; cur->next = pre; pre = cur; cur = tm

2021-07-03 20:03:35 320

原创 2021-06-15

刷题第九天 1、复原IP地址 给定一个只包含数字的字符串,用以表示一个 IP 地址,返回所有可能从 s 获得的 有效 IP 地址 。你可以按任何顺序返回答案。 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。 例如:“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址,但是 “0.011.255.245”、“192.168.1.312” 和 “192.168@1.1” 是 无效 IP 地址。 class Sol

2021-06-17 01:25:03 77

原创 2021-06-14

刷题第八天 1、最长重复子数组 给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。 class Solution { public: int findLength(vector<int>& A, vector<int>& B) { int n = A.size(), m = B.size(); vector<vector<int>> dp(n + 1, vector<int>(m + 1,

2021-06-14 16:03:07 29

原创 2021-06-09

刷题第七天 1、最长递增子序列 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 class Solution { public: int lengthOfLIS(vector<int>& nums) { if(nums.size() == 0) return 0; vector<int&gt

2021-06-09 23:45:47 60 2

原创 2021-06-01

刷题第六天 1、x的平方根 实现 int sqrt(int x) 函数。 class Solution { public: int mySqrt(int x) { int l = 0, r = x, res = 0; while(l <= r){ int mid = (l + r) / 2; if((long long)mid * mid <= x){ res = mid; l = mid + 1; } else r = mid -

2021-06-02 00:20:58 43

原创 2021-05-31

刷题第五天 1、最长回文子串 给你一个字符串 s,找到 s 中最长的回文子串。 class Solution { public: int getsub(int l, int r, string s){ while(l >= 0 && r < s.size() && s[l] == s[r]){ l--; r++; } return r - l + 1; } string longestPalindrome(string s) {

2021-05-31 23:58:52 90 2

原创 数据库MySQL第四讲

索引 上 哈希表:一种以键-值(key-value)存储数据的结构。当多个key经过哈希换算,出现同一个值的情况时, 需要拉出一个链表来解决该情况。但是哈希查找的值并不是有序存储的,所以当采用哈希索引查找时,不适合做区间查询,只适用于只有等值查询的场景。 有序数组:在等值查询和范围查询场景中的性能十分优秀。该索引结构支持范围查询,当只看查询效率,该结构很好,但当数据需要更新的时候 ,成本太高。所以有序数组只适用于静态存储引擎。 二叉搜索树:索引不止存在与内存中,还要写在磁盘中,当采用平衡二叉树,树越高,查询

2021-05-30 16:07:45 44

原创 2021-05-30

刷题第四天 1、螺旋矩阵 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 class Solution { public: vector<int> spiralOrder(vector<vector<int>>& matrix) { vector<int> res; if(matrix.size() == 0) return res; int rows = matrix.size()

2021-05-30 15:16:40 35

原创 数据库MySQL第三讲

事务隔离 事务支持是在引擎层实现的。 事务特性:ACID(原子性、一致性、隔离性、持久性)。 SQL标准的隔离级别: 1、读未提交:一个事务还没提交时,它做的变更就能被别的事务看到。 2、读已提交:一个事务提交之后,它做的变更才会被其他事务看到。 3、可重复读:一个事务执行过程中看到的数据,总是跟这个事务在启动时看到的数据是一致的。 4、串行化:对于同一行记录,写会加写锁,读会加读锁。当出现读写锁冲突的时候,后访问的事务必须等前一个事务执行完成,才能继续执行。 在可重复读隔离级别下,视图是在事务启动时创建的

2021-05-30 00:53:47 52

原创 数据库MySQL第二讲

日志系统:一条SQL更新语句是如何执行的? redo log 重做日志 WAL:Write-Ahead Logging,该技术的关键点在于先写日志,再写磁盘,便于提升效率。 当数据库有一条记录需要更新的时候,InnoDB引擎会先把记录写到redo log中,并更新内存,这个时候就算更新完毕。随后,InnoDB会在适当的时候,将这个操作记录再更新到磁盘,而这个更新往往是在系统比较空闲的时候。InnoDB的redo log是有固定大小的。 数据库有了redo log,就可以保证数据库发生异常重启,之前提交的记录

2021-05-30 00:16:55 63

原创 2021-05-28

刷题第三天 1、字符串相加 给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。 class Solution { public: string addStrings(string num1, string num2) { int i = num1.size() - 1, j = num2.size() - 1, add = 0; string res = ""; while(i >= 0 || j >= 0 || add != 0){ int x =

2021-05-29 15:58:46 31

原创 2021-05-27

刷题第二天 1、两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 class Solution{ public: vector<int> twoSum(vector<int>& nums, int target) { vector<int>

2021-05-28 00:27:02 32

原创 2021-05-26

数据库mysql第一讲 基础架构:一条SQL查询语句是如何执行的? select * from T where ID=10; MySQL可以分为Server层和引擎层。 Server层包括连接器、查询缓存、分析器、优化器、执行器等。 存储层负责数据的存储和提取。其架构模式是插件式,支持InnoDB、MyISAM、Memory等多个存储引擎。 语句执行顺序: 连接器 第一步,先使用连接器连接到数据库。连接成功后,如果处于空闲状态,可以使用show processlist命令中看到它。 客户端如果长时间没

2021-05-26 23:28:17 57 1

原创 2021-05-26

刷题第一天 1、买卖股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。 笔记: 找出数组中的最小值,依次与其他值进行比较,差值最大的则为最大利润。 class Solution{ public: int maxProfit(vec...

2021-05-26 22:07:03 177

空空如也

空空如也

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

TA关注的人

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