- 博客(12)
- 收藏
- 关注
原创 有100w个关键字,长度小于等于50字节(B)。用高效的算法找出 top10 的热词,并对内存的占用不超过1MB
昨天去面试 C++ 后台开发,给了一份笔试题,里面有道附加题:“有100w个关键字,长度小于等于50字节(B)。用高效的算法找出 top10 的热词,并对内存的占用不超过1MB”。刚开始看到这道题,我的第一反应觉得应该就是 大化小 的分而治之。然后给出的答案跟网上也差不多(回来之后百度的)。觉得还不错,所有记录下解决过程。(1)先把100w 个关键字 hash 映射到小文件,根据题意,100w...
2018-08-25 17:37:19 776
转载 Google开源协议Protobuf的简介及其序列化原理
转自:https://blog.csdn.net/chengzi_comm/article/details/53199278protobuf介绍及其序列化原理什么是probobuf、作用是什么: Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平...
2018-08-24 10:45:18 6936
原创 int *p = NULL 和*p = NULL 有什么区别?
很多初学者都无法分清这两者之间的区别。我们先看下面的代码:int *p = NULL;这时候我们可以通过编译器查看p 的值为0×00000000。这句代码的意思是:定义一个指针变量p,其指向的内存里面保存的是int 类型的数据;在定义变量p 的同时把p 的值设置为0×00000000,而不是把*p 的值设置为0×00000000。这个过程叫做初始化,是在编译的时候进行的。明白了什么是初...
2018-08-22 18:36:27 1532
转载 LeetCode难度及面试频率
转自:LeetCode Question Difficulty Distribution 1 Two Sum 2 5 array sort set Two Pointers ...
2018-08-21 09:06:26 1129
原创 MySQL 事务隔离级别
在 SQL 标准中定义了四种标准的隔离级别,每一种级别都规定了一个事务中所做的修改,哪些在事务内和事务间是可见的,哪些是不可见的。较低级别的隔离通常可以执行更高的并发,系统的开销也更低。 READ UNCOMMITTED (未提交读) 在 READ UNCOMMITTED 级别中,事务中的修改,即使没有提交,对其他事务也都是可见的。事务可以读取已修改...
2018-08-12 14:21:32 209
原创 MySQL 的存储过程
定义: 存储过程是 SQL 语句和控制语句的预编译集合,以一个名称存储并作为一个单元处理 优点: 增强 SQL 语句的灵活性和功能 加快了速度,因为提前编译好了,少了语法分析和编译步骤 减少了网络流量,某个SQL 语句,只要传个名称就可以了 创建存储过程语句 CREATE [DEFINER = {user | C...
2018-08-12 14:20:39 135
原创 MySQL 常用函数
字符函数 函数名称 描述 CONCAT() 字符连接 CONCAT_WS() 使用指定的分割符进行字符连接 [ CONCAT_WS('|', str1, str2) ,第一个参数是分隔符 ] FORMAT 数字格式化 FORMAT(12...
2018-08-12 14:19:04 124
原创 MySQL-JOIN 详解
1、概述 一个完整的 SQL 语句中会被拆分成多个子句,子句的执行过程会产生虚拟表(vt),但是结果只返回最后一张虚拟表。 2.、JOIN 的执行顺序 一下是JOIN 查询的通用结构 SELECT <row_list> FROM <left_table> <inner | left | right&...
2018-08-12 14:15:35 300
原创 mysql 常用 SQL 语句
(1)创建数据表同时将查询结果写入到数据表 CREATE TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)] select_statement (2)参照另一个表的数据来更新一个表 UPDATE table1 (inner join, left join, right join) table2 O...
2018-08-12 14:11:30 363 1
原创 on duplicate key update 自增id 不连续的问题sql_query =''' SELECT card.imsi, DATE_FORMAT(flow.consume_date,\
由于项目中需要统计每个月卡的在线数(也就是每天只要卡有流量消耗,就算上线),所以需要先统计每张卡每个月的在线数。如果卡的记录已经存在,那么就把在线数 加 1, 否则就插入一条新的记录。sql_query ='''SELECT card.imsi, DATE_FORMAT(flow.consume_date,\'%%Y-%%m\') FROM %s flow JOIN flowm...
2018-08-12 14:08:53 879
转载 MySQL聚簇索引和非聚簇索引的原理及使用
转自:https://blog.csdn.net/lijiaz5033/article/details/50129723索引分为聚簇索引和非聚簇索引。 以一本英文课本为例,要找第8课,直接翻书,若先翻到第5课,则往后翻,再翻到第10课,则又往前翻。这本书本身就是一个索引,即“聚簇索引”。如果要找"fire”这个单词,会翻到书后面的附录,这个附录是按字母排序的,找到F字母那一块,再找到...
2018-08-09 09:30:57 280
转载 Python初学者错误:TypeError: unsupported operand type(s) for +: 'int' and 'str'
转自:https://blog.csdn.net/foryouslgme/article/details/51536882在大神们看来print可能是一个再简单不过的函数,但是对于新手来说,在自学过程中,会碰到各种各样的问题,如果没有很好的老师或者学习思路,很有可能学习成本会相当高,所以希望大神们不要鄙视初学者的“傻X”问题,毕竟大家都是过来人如下代码:>>> a ...
2018-08-09 08:34:35 32001
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人