2 满丶怀

尚未进行身份认证

暂无相关简介

等级
TA的排名 8w+

第172场力扣周赛

6和9组成的最大数字(简单)题目描述:给你一个仅由数字 6 和 9 组成的正整数num。 你最多只能翻转一位数字,将 6 变成9,或者把9 变成6 。 请返回你可以得到的最大数字。解题思路:非常简单,只需将当前数组中最靠前(若存在)的数字6翻转为9即可得到最大的数组:class Solution {public: int maximum69Number...

2020-01-20 20:47:25

高性能HTTP服务器

高性能HTTP服务器最近一直在做一个高性能的http服务器,首先要构建一个支持TCP的高性能网络编程框架,再完成这个框架之后,再增加上http的特性便可以了。设计需求:采用 reactor 模型,使用 epoll 作为事件分发实现。 必须支持多线程,从而可以支持单线程单 reactor 模式,也可以支持多线程主 - 从 reactor 模式。可以将套接字上的 I/O 事件分离到多...

2020-01-20 05:07:28

力扣日常练习

旋转数组(简单)给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。解题:思路:将数组向右移动k个位置,那么首先我们的思路便是申请一个额外的数组,来预存数组中的元素,紧接着再对原数组进行操作,A[(i + k)%size] = B[i]。class Solution {public: void rotate(vector<int>&am...

2020-01-17 02:53:12

力扣日常练习

验证回文串(简单)给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。解题:根据题目需求首先过滤掉非字母和数字的字符,紧接着通过双指针首尾遍历字符串,判断是否回文即可。isalnum()函数表示判断字符是否为字母和数字 tolower()函数表示将字符转换为小写格式只需五行代码即可。cla...

2020-01-16 22:12:33

力扣日常练习

二叉树的最大深度(简单)给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。解题:采用递归的方式去求解二叉树的最大深度。/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * ...

2020-01-16 06:31:08

力扣日常练习

合并两个有序数组给定两个有序整数数组nums1 和 nums2,将 nums2 合并到nums1中,使得num1 成为一个有序数组。说明:初始化nums1 和 nums2 的元素数量分别为m 和 n。 你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存 nums2 中的元素。解题:首先这道题最直接的方法当然是合并后直接排序,但是这么处理...

2020-01-15 01:56:33

力扣日常练习

搜索插入位置(简单)给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。解题:简单的二分查找问题,由于我们知道当排序数组当中存在目标值的情况,则直接返回mid下标即可,当排序数组当中不包含目标值,此时我们可以分析得出,while循环的倒数第一次中,必定left=right,此时定位到...

2020-01-13 18:55:32

力扣日常练习

罗马数字转整数(简单)罗马数字包含以下七种字符:I,V,X,L,C,D和M。罗马数字规则 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做II,即为两个并列的 1。12 写做XII,即为X+II。 27 写做...

2020-01-12 20:40:27

MongoDB——读操作事务

由于MongoDB是一个分布式数据库,因此我们在读取数据的过程中需要关注以下两个问题:从哪里读?关注数据节点位置 什么样的数据可以读?关注数据的隔离性接下来我们引入了两个参数:readPreference和readConcern来控制。readPreference参数readPreference决定使用哪一个节点来满足正在发起的读请求。可选值包括:primary:只选择主节...

2020-01-02 23:25:14

MongoDB——写操作事务

writeConcern参数writeConcern决定一个写操作落到多少个节点上才算成功。writeConcern的取值包括:0:发起写操作,不关心是否成功; 1~集群最大数据节点数:写操作需要被复制到指定节点数才算成功; majority:写操作需要被复制到大多数节点上才算成功。发起写操作的程序将阻塞到写操作到达指定的节点数为止。writeConcern的默认值是1,即我...

2020-01-01 16:38:53

SELECT

select函数介绍个人整理select函数思维导图

2019-12-23 22:19:36

TIME_WAIT

TCP四次挥手首先先从TCP的四次挥手说起,下面给出TCP四次挥手展示图:TCP四次挥手TCP连接终止时,主机1先发送FIN报文,主机2进入COLSE_WAIT状态,并发送一个ACK应答,同时,主机2通过read调用获得EOF,并将此结果通知应用程序进行主动关闭操作,发送FIN报文。主机1在接收到FIN报文后发送ACK应答,此时主机1进入了TIME_WAIT状态。主机1在TI...

2019-12-19 20:00:26

ping命令

ping命令是用来完成对网络连通性的检测ping命令探测与新浪网的网络连通性我们可以看到,每次显示都是按照sequence序列号排序显示的,一并显示的,也包括TTL(time to live),反映了两个IP地址之间传输的时间。最后还显示了ping命令的统计信息,如最小时间、平均时间等等。ping命令原理ping命令是一种基于ICMP的协议而开发的,ICMP又是一种基于...

2019-12-19 18:20:39

MongoDB的CRUD

标题标题标题标题标题标题

2019-12-05 22:20:20

如何选取最佳前缀索引长度

有时候需要索引很长的字符列,这会让索引变得大且慢。其中有一种策略是通过自定义哈希索引的方式来模拟哈希索引,但是这样会存在一定的局限性。通常来讲我们可以采用前缀索引的方式,这样可以大大节约索引空间,从而提高索引效率。但是与此同时,这也会一定程度上的降低索引的选择性。索引的选择性是指,不重复的索引值(也称为基数,cardinality)和数据表的记录总数(#T)的比值,范围从1/#T到1之间。索引...

2019-12-03 14:37:23

MySQL为一张表的枚举字段增加ENUM常量

基本技术为:为当前表结构创建一个新的.frm文件,然后用它替换掉已经存在的那张表的.frm文件创建一张具有相同结构的空表,并进行所需的修改(增加ENUM常量) 执行FLUSH TABLES WITH READ LOCK。这将会关闭所有正在使用的表,并且禁止任何表被打开。 交换.frm文件 执行UNLOCK TABLES来释放第二步的读锁下面先给出原表的结构:原表:saki...

2019-12-02 19:54:08

LRU缓存机制

class LRUCache {private: int cap; // 双链表:装着 (key, value) 元组 list<pair<int, int>> cache; // 哈希表:key 映射到 (key, value) 在 cache 中的位置 unordered_map<int, list<pair&lt...

2019-09-25 16:42:53

C++实现简易Trie树

放码过来#include <iostream>#include <string>using namespace std;struct TrieNode{ char data; TrieNode *children[26]; bool isEndingChar; TrieNode(char data): data(data), isEndingCh...

2019-09-22 21:19:47

C++11——std::mutex

互斥量互斥量是一个可以处于两态之一的变量:解锁和加锁。这样,只需要一个二进制位表示它,不过实际上,常常使用一个整型量,0表示解锁,而其他所有的值则表示加锁。互斥量使用两个过程。当一个线程(或进程)需要访问临界区时,它调用mutex_lock。如果该互斥量当前是解锁的(即临界区可用),此调用成功,调用线程可以自由进入该临界区。#include <iostream>#inc...

2019-09-15 10:43:11

C++11——std::thread

线程的创建——线程的启动与结束通过函数来创建一个线程#include <iostream>#include <thread>// 线程入口函数void function(){ std::cout << "The thread is start, thread_id = " << std::this_thread::get_i...

2019-09-13 20:32:55

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。