- 博客(25)
- 收藏
- 关注
原创 【2019秋冬】【MySQL】第七章 事务
事务会把数据库从一种状态转换至另一种一致状态在数据库提交工作时,要么保证所有修改都保存了,要么所有修改都不保存锁讨论隔离性,事务保障原子性事务是访问并更新数据库中各种数据的一个程序执行单元要么都修改,要么不做ACID特性A atomicity 原子性整个操作是整体性的,不能做一半结束了或者中途错误了还继续执行C consistentcy一致性事务将数据库从一种状态转移至另一种状态...
2020-01-17 20:47:20 120
原创 【2019秋冬】【LeetCode】234 回文链表
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: bool isPalin...
2020-01-15 16:00:20 104
原创 【2019秋冬】【LeetCode】189 旋转数组
class Solution {public: void rotate(vector<int>& nums, int k) { int s = nums.size(); k %= s; if(k==0 || s < 2) return ; int time = gcd(s,k); f...
2020-01-15 10:03:20 173
原创 【2019秋冬】【LeetCode】20 有效的括号
class Solution {public: bool isValid(string s) { if(s.length()%2!=0) return false; stack<char> left; unordered_map<char,char> pei; pei['('] = ')'; ...
2020-01-14 17:17:44 83
原创 【2019秋冬】【LeetCode】125 验证回文串
class Solution {public: bool isPalindrome(string s) { if(s=="") return true; string a,b; for(int i=0; i<s.length(); i++){ if(isalpha(s[i])) a+=tolower(s[i])...
2020-01-14 16:57:24 75
原创 【2019秋冬】【LeetCode】198 打家劫舍
class Solution {public: int rob(vector<int>& nums) { if(nums.size()==0) return 0; int dp[nums.size()+1]; dp[0] = 0; dp[1] = nums[0]; for(int i=2;...
2020-01-14 16:46:38 195
原创 【2019秋冬】【LeetCode】66 加一
class Solution {public: vector<int> plusOne(vector<int>& digits) { for(int i=digits.size()-1; i>=0; i--){ if(digits[i]+1<10){ digits[i]++...
2020-01-14 16:18:01 63
原创 【2019秋冬】【MySQL】MySQL技术内幕 第六章 锁
锁用于管理对共享资源的并发访问不同的存储引擎有不同的锁机制latch&locklatch 是轻量级的锁,时间短,线程锁。在InnoDB中可分为互斥锁和读写锁,用来保证并发线程操作临界资源的正确性,没有死锁检测lock是事务锁,锁定数据库中的对象,例如表,页,行。lock仅在事务commit或rollback后释放,有死锁机制InnoDB中锁的类型共享锁 S锁 读取行数据排他锁...
2020-01-14 16:01:40 174
原创 【2019秋冬】【LeetCode】387 字符串中第一个唯一字符
class Solution {public: int firstUniqChar(string s) { unordered_map<char,int> ti; for(int i=0; i<s.length(); i++){ ti[s[i]]++; } for(int i=0; ...
2020-01-13 17:15:09 59
原创 【2019秋冬】【LeetCode】141 环形链表
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: bool hasCyc...
2020-01-13 16:59:21 68
原创 【2019秋冬】【LeetCode】350 两个数组的交集II
class Solution {public: vector<int> intersect(vector<int>& nums1, vector<int>& nums2) { int l1 = nums1.size(); int l2 = nums2.size(); if...
2020-01-13 16:27:14 137
原创 【2019秋冬】【LeetCode】326 3的幂
class Solution {public: bool isPowerOfThree(int n) { if(n<1) return false; while(n%3==0){ n = n/3; } return n==1; }};基础做法,注意逻辑要倒清楚或者边吃3进制的数字...
2020-01-13 09:10:51 61
原创 【2019秋冬】【LeetCode】88 合并两个有序数组
class Solution {public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { for(int i=0; i<n; i++){ nums1[m] = nums2[i]; m++...
2020-01-12 18:56:33 71
原创 【2019秋冬】【MySQL】MySQL技术内幕 第五章 索引
InnoDB存储引擎有三种常见索引1.B+树2.全文索引3.哈希索引哈希索引是自适应的,会根据表的情况制动生成表成为哈希索引,无法人为干预B+是最常见的B+树是为磁盘或其他存储辅助设备设计的一种平衡查找树...
2020-01-12 17:33:12 141
原创 【2019秋冬】【MySQL】MySQL技术内幕 第二章 表结构
InnoDB存储引擎中,表根据主键顺序存放,这种存储方式的表称为索引组织表所有数据都被放在表空间中,表空间包括段,段中是区,区中是页/块,页中是行常见段有数据段,索引段,回滚段数据段就是B+树的叶子节点,索引段就是B+树的非叶子节点区是由连续的页组成,大小为1MB,默认情况下一个页16KB,一个区中有64个连续的页页是磁盘管理的最小单位,常见的页有数据页,undo页,系统页等行,数据是...
2020-01-12 10:22:59 125
原创 【2019秋冬】【LeetCode】70 爬楼梯
class Solution {public: int climbStairs(int n) { n += 1; return (pow((1 + sqrt(5)) / 2, n) - pow((1 - sqrt(5)) / 2, n)) / sqrt(5); }};爬楼梯(因为步数是1,2步,所以可以是前两项之和),生兔子,都是斐波那契...
2020-01-11 11:28:15 107
原创 【2019秋冬】【LeetCode】26 删除排序数组中的重复项
class Solution {public: int removeDuplicates(vector<int>& nums) { if(nums.size()==0) return 0; int j = 1; for(int i=1; i<nums.size(); i++){ if(num...
2020-01-11 10:43:35 113
原创 【2019秋冬】【LeetCode】53 最大子序和
class Solution {public: int maxSubArray(vector<int>& nums) { vector<int> dp(nums.size()); dp[0] = nums[0]; int ans = nums[0]; for(int i=1; i<num...
2020-01-11 10:27:27 51
原创 【2019秋冬】【LeetCode】101 对称二叉树
class Solution {public: bool dfs(TreeNode* r1, TreeNode* r2){ if(r1==NULL&&r2==NULL) return true; if(r1==NULL||r2==NULL) return false; if(r1->val != r2 ->val...
2020-01-11 09:54:31 61
原创 【2019秋冬】【LeetCode】155 最小栈
class MinStack {public: /** initialize your data structure here. */ stack<int> ans; int min; MinStack() { min = INT_MAX; } void push(int x) { if(min...
2020-01-11 08:27:38 67
原创 【2019秋冬】【LeetCode】160相交链表
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *ge...
2020-01-08 17:40:02 50
原创 【2019秋冬】【LeetCode】217 存在重复元素
class Solution {public: bool containsDuplicate(vector<int>& nums) { if(nums.size()==0) return false; sort(nums.begin(),nums.end()); for(int i=1; i<nums.size()...
2020-01-08 16:47:44 39
原创 【2019秋冬】【LeetCode】121 买卖股票的最佳时机
class Solution {public: int maxProfit(vector<int>& prices) { if(prices.size()==0) return 0; int min = prices[0]; int max = 0; for(int i=1; i<prices.s...
2020-01-08 16:31:22 54
原创 【2019秋冬】【JVM】深入理解Java虚拟机 第七章
类加载机制:把描述类的文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型过程:加载,连接(验证,准备,解析),初始化,使用,卸载解析和初始化可以换顺序,解析在初始化后为动态绑定按顺序开始,不一定按顺序结束加载完成三个步骤(自我理解)1.通过类的名字来获取class文件2.把class文件放入方法区3.生成一个代表该类的class对象,方便...
2020-01-04 10:57:06 100
原创 【2019秋冬】【JVM】深入理解Java虚拟机 第三章
哪些内存需要回收?什么时候回收?怎么回收?程序计数器,虚拟机栈,本地方法栈都为线程私有需要处理的是Java堆和方法区判断对象是否已死1.引用计数法给对象添加一个引用计数器,当有引用时加一,引用失效时减一,当计数器为0时可以回收实现简单,效率高,但难以解决循环引用问题2.可达性分析算法在GC root向下搜索,不和GC Root相连的就是可回收GC Root可以是:虚拟机栈(...
2020-01-02 17:21:16 397 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人