自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (5)
  • 收藏
  • 关注

转载 追本溯源:字符串及编码

转载:https://zhuanlan.zhihu.com/p/73917931开始先考虑下边的问题。let s = "js"console.log(s.length)s= "亮"console.log(s.length)s = " "console.log(s.length)我们知道 length 就是字符串的字符数,所以输出的依次是 2,1,1,对吗?探索一我们知道,计算机里只能存 0 和 1,换言之,只能存数字,而我们现在在屏幕上看到的文字只是将数字对应到图形而已

2020-07-31 10:57:11 236

原创 343. 整数拆分

链接:https://leetcode-cn.com/problems/integer-break/submissions/题解:https://leetcode-cn.com/problems/integer-break/solution/shou-hua-tu-jie-di-gui-ji-yi-hua-di-gui-dong-tai-g/mem[n]表示,拆分n的最大值class Solution {public: int integerBreak(int n) {..

2020-07-30 23:57:43 110

转载 hr谈薪水

作者:暖石链接:https://www.zhihu.com/question/34557602/answer/1330294261来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。尤其是比如说你要15k,HR说给你13k,就在今天早上,我的朋友就遇到了这个问题。她要15K,HR说“抱歉我给不了,我只能给你10k”,我的朋友其实很难接受,但是今年,尤其是年底,不是很好找工作,所以她就想问我,有没有什么办法可以稍微提高一点点薪资?于是我帮她做了几件事情,结果她虽.

2020-07-30 14:46:10 1298

原创 392. 判断子序列

题解:双指针class Solution {public: bool isSubsequence(string s, string t) { if(s.size() == 0) { return true; } int begin = 0; for(int i = 0; i < t.size(); ++i) { if(t[i] == s[begin]) { ..

2020-07-27 13:24:58 56

原创 329. 矩阵中的最长递增路径

题解:https://leetcode-cn.com/problems/longest-increasing-path-in-a-matrix/solution/ju-zhen-zhong-de-zui-chang-di-zeng-lu-jing-by-le-2/链接:329. 矩阵中的最长递增路径class Solution {public: vector<vector<int>> direction{{1, 0}, {-1, 0}, {0, 1..

2020-07-26 15:03:17 71

原创 410. 分割数组的最大值

题解:链接:https://leetcode-cn.com/problems/split-array-largest-sum/下面这种情况是dfs是超时的,有时间加一下记忆化class Solution {public: int splitArray(vector<int>& nums, int m) { int n = nums.size(); vector<vector<long long>>..

2020-07-26 13:16:08 127

转载 响应速度不给力?解锁正确缓存姿势

转载:https://mp.weixin.qq.com/s/QidAD9OuVdEXFqxRMPx5lQ1. 常见概念在合理应用缓存前,需要了解缓存领域里相关的几个常用术语:1)缓存命中:表示数据能够从缓存中获取,不需要回源;2)Cache miss:表示没有命中缓存,如果缓存内存中还有内存空间的话,会将数据加入到缓存中;3)存储成本:当没有命中缓存时,回源获取后会将数据放置到存储中,整个将数据放置到存储空间所需要的时间以及空间称之为存储成本;4)缓存失效:当源数据发生变更后,意味着

2020-07-26 09:57:13 283

转载 缓存更新的套路

转载:https://coolshell.cn/articles/17416.html#comments看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的。试想,两个并发操作,一个是更新操作,另一个是查询操作,更新操作删除缓存后,查询操作没有命中缓存,先把老数据读出来后放到缓存中,然后更新操作更新了数据库。于是,在缓存中的数据还是老的数据,导致缓存中的数据是脏的,而且还一直这样脏下去了。我不知道为什么这么多人用的都是这个逻辑,

2020-07-24 16:19:55 173

转载 自制搜索引擎

转载:https://blog.csdn.net/winx_coder/article/details/764079761.基本信息书名:自制搜索引擎作者:山田浩之,末永匡译者:胡屹书籍类型:源码剖析类2.内容概述本书主要讲解了:如何从零开始,编写一个基于“倒排索引(Inverted Index)”的“全文检索引擎(FullText Search Engine)”。最终的成果,相当于一个迷你版的Apache Lucene。(注意:是自制Lucene,而不是调用Lucene).

2020-07-23 21:35:27 1686

原创 64. 最小路径和

链接:https://leetcode-cn.com/problems/minimum-path-sum/submissions/注意一下和三角形那个的区别,三角形那个是到底边就可以。本题是从左上角,走到右下角。class Solution { public: ..

2020-07-23 21:19:47 67

原创 亚马逊面试

转载:https://blog.csdn.net/sunenglish1230/article/details/72678117刚刚参加完Amazon的面试,来写一下自己的面试过程。我申请的是SDE-1的职位。面试流程是2轮电面,4轮Onsite.一开始是电面。第一轮 电面 1翻转字符串 reverse words in a string。LintCode原题:http://www.lintcode.com/en/problem/reverse-words-in-a-string/参考答案

2020-07-23 10:45:15 904

原创 用户系统设计

A、如果cache.set如果失败,会造成脏数据假设ABCD串行执行,第一个执行成功,第二个执行失败。ABD会造成脏数据当同时有很多用户设置一个key,假设第8~9行之前做了一个setUser, 第9行设置了一个不对的一个数值...

2020-07-23 09:22:32 239

原创 95. 不同的二叉搜索树 II

题解:https://leetcode-cn.com/problems/unique-binary-search-trees-ii/solution/he-qian-mian-man-er-cha-shu-de-ti-ting-xiang-de-by//** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right;..

2020-07-21 21:07:39 97

原创 167. 两数之和 II - 输入有序数组

题解:双指针复杂度分析 时间复杂度:O(n),其中n是数组的长度。两个指针移动的总次数最多为n次。 空间复杂度:O(1)。 class Solution {public: vector<int> twoSum(vector<int>& numbers, int target) { vector<int> result; if(numbers.size() < 2) { ...

2020-07-20 21:31:50 69

原创 312.戳气球

题解:https://qoogle.top/leetcode-312-burst-balloons/https://leetcode-cn.com/problems/burst-balloons/solution/chuo-qi-qiu-by-leetcode-solution/正向思考以[3, 1, 5][3,1,5]为例,对于第一次选择,我们有三种选择。选择 3 将问题分解为左边的子问题:[][]和 右边子问题:[1, 5][1,5]其解等于:[] + [1, 5] ...

2020-07-19 23:55:52 134

原创 97. 交错字符串

链接:https://leetcode-cn.com/problems/interleaving-string/题解:不知道大家对不同路径的题还有没有印象,本题也可以利用其思想求解:target的每个字符都是从s1(向下)或者s2(向右)拿到的,所以只要判断是否存在这条target路径即可;于是可定义boolean[][] dp ,dp[i][j]代表s1前i个字符与s2前j个字符拼接成s3的i+j字符,也就是存在目标路径能够到达i,j;状态方程:边界1:dp[0][0] = t..

2020-07-18 23:30:57 114

原创 from py4j.protocol import Py4JError ModuleNotFoundError 错误

from py4j.protocol import Py4JError ModuleNotFoundError: No module named 'py4j'报错了!!!学习林子雨老师的pySpark慕课时,按照给的链接安装时,运行python3 ~/test.py程序发现了from py4j.protocol import Py4JError ModuleNotFoundError: No module named 'py4j'的错误了。vim /etc/profileexport JAVA_H

2020-07-18 14:19:48 649

原创 全局事务缺陷

2020-07-15 21:21:46 137

原创 分布式事务DTP

AP.java,Application Programpackage com.agan.dtp.xa;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;/** * @author 阿甘 * @see https://study.163.com/course/courseMain.htm?courseId=1209367806&share=2&amp...

2020-07-15 20:42:36 255

转载 Tcp keepalive详解

转载:https://www.cnblogs.com/lanyangsh/p/10926806.htmlTCP是面向连接的,一般情况,两端的应用程序可以通过发送和接收数据得知对端的存活。当两端的应用程序都没有数据发送和接收时,如何判断连接是否正常呢?这就是SO_KEEPALIVE的作用。1. SO_KEEPALIVE 的作用1.1 SO_KEEPALIVE的定义SO_KEEPALIVE用于开启或者关闭保活探测,默认情况下是关闭的。当SO_KEEPALIVE开启时,可以保持连接检测对

2020-07-15 11:30:28 393

原创 120. 三角形最小路径和

链接:https://leetcode-cn.com/problems/triangle/题解:dp[i][j] = triangle[i][j] + min(dp[i+1][j], dp[i+1][j+1]),dp[i]j[j]表示从坐标(i,j)位置走到底部所用的最小值时间复杂度:空间复杂度为O(n^2),时间复杂度是 O(n^2),n为三角形的行数。class Solution {public: int minimumTotal(vector<vector&lt..

2020-07-15 11:13:38 74

原创 Protocol Buffers数据编码

Protocol Buffers这是要多快好省的建设社会主义啊。理想还是要有的嘛,这里我就来介绍一个向“理想”迈进的GRPC。GRPC首先满足二进制和跨语言这两条,二进制说明压缩效率高,跨语言说明更灵活。但是又是二进制,又是跨语言,这就相当于两个人沟通,你不但说方言,还说缩略语,人家怎么听懂呢?所以,最好双方弄一个协议约定文件,里面规定好双方沟通的专业术语,这样沟通就顺畅多了。对于GRPC来讲,二进制序列化协议是Protocol Buffers。首先,需要定义一个协议文件.proto。我们还

2020-07-14 12:05:47 230

原创 350. 两个数组的交集 II

链接:https://leetcode-cn.com/problems/intersection-of-two-arrays-ii/题解:https://leetcode-cn.com/problems/intersection-of-two-arrays-ii/solution/liang-ge-shu-zu-de-jiao-ji-ii-by-leetcode-solution/class Solution {public: vector<int> intersect(..

2020-07-13 23:21:02 76

原创 进阶1:基础查询

进阶1:基础查询/*语法:select 查询列表 from 表名;类似于:System.out.println(打印东西);特点:1、查询列表可以是:表中的字段、常量值、表达式、函数2、查询的结果是一个虚拟的表格*/USE myemployees;1.查询表中的单个字段SELECT last_name FROM employees;2.查询表中的多个字段SELECT last_name,salary,email FROM employees;3.查询表中的所有字段方式一:SE

2020-07-13 13:08:02 103

转载 extern “C“那些事

转载:https://light-city.club/sc/basic_content/extern/#extern-c1.C++与C编译区别在C++中常在头文件见到extern "C"修饰函数,那有什么作用呢? 是用于C++链接在C语言模块中定义的函数。C++虽然兼容C,但C++文件中函数编译后生成的符号与C语言生成的不同。因为C++支持函数重载,C++函数编译后生成的符号带有函数参数类型的信息,而C则没有。例如int add(int a, int b)函数经过C++编译器生成.o文件后,

2020-07-12 18:13:13 282

转载 想成为架构师,你必须掌握的CAP细节

理论的优点在于清晰简洁、易于理解,但缺点就是高度抽象化,省略了很多细节,导致在将理论应用到实践时,由于各种复杂情况,可能出现误解和偏差,CAP 理论也不例外。如果我们没有意识到这些关键的细节点,那么在实践中应用 CAP 理论时,就可能发现方案很难落地。而且当谈到数据一致性时,CAP、ACID、BASE 难免会被我们拿出来讨论,原因在于这三者都是和数据一致性相关的理论,如果不仔细理解三者之间的差别,则可能会陷入一头雾水的状态,不知道应该用哪个才好。今天,我来讲讲CAP 的具体细节,简单对比一下 ACI

2020-07-07 09:28:46 190

原创 数据密集型应用系统

《数据密集型应用系统应用设计》:https://book.douban.com/subject/30329536/MIT6.284:https://www.simtoco.com/#/albums/video?id=1000159极客时间:MySQL实战45讲讲主键索引,覆盖索引,数据结构与算法之美讲B树,zookeeper实战与源码剖析将LSM网易云课堂:大数据技术原理与应用,分布式事务攻略leveldb实战:https://search.bilibili.com/all?keyword=

2020-07-06 18:01:27 1073 1

原创 Hive操作

一、Hive DML之加载和导出数据https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML

2020-07-06 13:26:11 98

原创 Hive

http://hive.apache.org/

2020-07-03 13:09:20 136

原创 YARN

YARN的基本思想是将资源管理和作业调度/监视的功能拆分为单独的守护程序(resource management and job scheduling/monitoring)。这个想法是拥有一个全局的ResourceManager(RM)和每个应用程序的ApplicationMaster(AM)。应用程序可以是单个作业,也可以是作业的DAG。ResourceManager和NodeManager组成数据计算框架。ResourceManager是在系统中所有应用程序之间仲裁资源的最终权限。...

2020-07-02 19:55:04 259

原创 mr复习

1、上课方式基础理论部分——录播实践部分——直播“预习+复习”的模式预习:录播视频复习:直播视频:2、上课纪律(1)空杯心态(2)100%热情投入:至少30次课,时间宝贵(3)坚持不懈,一定要有信心(4)保持互动:1是 0否(5)人之所以痛苦,在于追求错误的东西3、经验目标:找大数据工作方法:找猎头?求职网站?群里小伙伴互相介绍、内推?班主任老师——都属于渠道问题策略:你准备好了么? 准备什么? 1) 简历——硬件:创造机会 2)...

2020-07-01 20:53:55 183

原创 基于redis的微博个人首页

基于redis的微博个人首页微博个人首页业务场景分析微博个人首页的redis技术方案用户发的文章是hash存储,key为postId用户的关注的人set存储,fowlee用户的被关注的人set存储,follower我的主页是一个list,userId 后面是postId关注的页面是一个list,userId后面是关注人之前发过的postId用户发了文章,首先将文章以hash方式存储在缓存存储被关注人的set存储到自己的个人主页,list postId找到自己被关注的人,将被关注人的li

2020-07-01 17:52:23 227

原创 基于Redis的微博计算好友关系

基于Redis的微博计算好友关系一、计算好友关系业务场景分析微博微关系:共同关注:是计算出阿甘和雷军共同关注的人有哪些?我关注的人也关注他:是计算出我阿甘关注的人群中,有哪些人同时和我一样关注了雷军二、计算好友关系的redis技术方案思考题:如果是采用数据库来实现用户的关系,一般SQL怎么写? 例如 阿甘关注10个人,雷军关注100个人,让你计算2人的共同关注那些人?SQL的写法,一般是采用in 或 not in 来实现。但是对于互联网高并发的系统来说,in not in 明显不适合。一般

2020-07-01 16:19:51 462 1

原创 基于Redis的微博关注与粉丝

基于Redis的微博关注与粉丝一、微博关注与粉丝的业务场景分析阿甘关注了雷军:阿甘就是雷军的粉丝follower雷军被阿甘关注:雷军就是阿甘的关注followee二、微博关注与粉丝的redis技术方案技术方案:每个用户都有2个集合:关注集合和粉丝集合例如 阿甘关注了雷军,做了2个动作1.把阿甘的userid加入雷军的粉丝follower集合set2.把雷军的userid加入阿甘的关注followee集合set集合key设计阿甘的关注集合 key=followee:阿甘userid雷军的

2020-07-01 16:08:44 849 3

1.6 Golang在阿里巴巴调度系统Sigma中的实践.pdf

1.6 Golang在阿里巴巴调度系统Sigma中的实践。

2020-04-19

栈和队列.rar

栈队列,两个栈实现队列,两个队列实现栈,栈和队列的一些简单应用

2016-01-14

深度优先搜索

哈理工几道深度优先搜索例题,泉水下山

2015-08-15

排序树 变成双向链表

排序树 变成双向链表排序树

2014-09-14

排序树 双向 循环链表

排序树 双向 循环链表

2014-08-31

空空如也

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

TA关注的人

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