9 OS_Net_DCE

尚未进行身份认证

我要认证

专注于操作系统(linux,windows),网络,分布式系统,c++

等级
TA的排名 21w+

git pull --rebase

 使用下面的关系区别这两个操作:git pull = git fetch + git mergegit pull --rebase = git fetch + git rebase现在来看看git merge和git rebase的区别。假设有3次提交A,B,C。在远程分支origin的基础上创建一个名为"mywork"的分支并提交了,同时有其他人在"origin"上做了一些修改并提交了。其实这个时候E不应该提交,因为提交后会发生冲突。如何解决这些冲突呢?有以下两种方法:...

2020-10-14 22:58:15

git技巧之stash

[时间:2016-10] [状态:Open][关键词:git,版本控制,版本管理,stash,git储藏]缘起今天在看一个bug,之前一个分支的版本是正常的,在新的分支上上加了很多日志没找到原因,希望回溯到之前的版本,确定下从哪个提交引入的问题,但是还不想把现在的修改提交,也不希望在Git上看到当前修改的版本(带有大量日志和调试信息)。因此呢,查查Git有没有提供类似功能,就找到了git stash的命令。综合下网上的介绍和资料,git stash(git储藏)可用于以下情形:发现有...

2020-09-28 11:11:27

git使用技巧之压缩commit

原文——Squash commits into one with Git本篇介绍一个很棒的能将多次修改合并起来的方法,尤其是在将他们共享出去之前在 Git 中,你可以使用强大的 interactive rebase(交互式 rebase)将多次提交合并成一次。这是我常用的一个很方便的工具;我经常通过将多个临时的小的提交合并成一次提交,然后将整理好的代码 push 给远端。步骤 1: 选择你的起始提交第一步就是让 git 开始一次交互式 rebase 会话:1git rebase --interactive

2020-09-27 15:48:58

二分查找题目-转变数组后最接近目标值的数组和

题目给你一个整数数组 arr 和一个目标值 target ,请你返回一个整数 value ,使得将数组中所有大于 value 的值变成 value 后,数组的和最接近 target (最接近表示两者之差的绝对值最小)。如果有多种使得和最接近 target 的方案,请你返回这些整数中的最小值。请注意,答案不一定是 arr 中的数字。class Solution: def findBestValue(self, arr, target): n = len(arr)

2020-08-09 20:12:36

cland-tidy简介

最近几天在关注clang-tidy,有一些体会,简单做一些笔记。分享给感兴趣的朋友们,也是给将来的自己看。1、clang-tidy是基于AST的静态检查工具。因为它基于AST,所以要比基于正则表达式的静态检查工具更为精准,但是带来的缺点就是要比基于正则表达式的静态检查工具慢一点。也是因为它基于AST,所以clang-tidy运行的时候需要知道编译命令。2、clang-tidy不仅仅可以做静态检查,还可以做一些修复工作。3、clang-tidy是基于LibTooling的工具。而LibTooling是一个库,

2020-08-07 20:15:34

strStr实现-rabin-karp

class Solution: def strStr(self, haystack, needle): """ :type haystack: str :type needle: str :rtype: int """ return self.rabin_karp(haystack, needle) def rabin_karp(self, haystack, needle):

2020-08-04 00:20:11

字符串匹配-构造DFA

class Solution(object): def strStr(self, haystack, needle): """ :type haystack: str :type needle: str :rtype: int """ return self.search(haystack, needle) def get_dfa(self, pat): M = len(pat)

2020-08-03 23:36:19

c++实现pimpl

原文链接:https://blog.csdn.net/lihao21/article/details/47610309 Pimpl(pointer to implementation, 指向实现的指针)是一种常用的,用来对“类的接口与实现”进行解

2020-08-03 10:18:15

kmp算法实现

class Solution(object): def strStr(self, haystack, needle): """ :type haystack: str :type needle: str :rtype: int """ return self.kmp(haystack, needle) def kmp(self, haystack, needle): """ km

2020-07-30 23:21:37

c++编译error: declaration of anonymous class must be a definition

错误原因想声明一个匿名类,却没有一个类体结构。比如如果有下面的代码,就会出现这样的错误#define optional#include <iostream>#include <map>class optional;int main(int argc, char *argv[]){ std::cout<<"1111"<<std::endl;}常见导致该问题的错误在作类前置声明的时候,若有宏定义和类名冲突,即会导致该问题解决当

2020-07-20 20:47:37

代码覆盖工具(gcov、lcov)的使用

转载至原文:https://www.cnblogs.com/fnlingnzb-learner/p/6943512.html一、安装gcov:是随gcc一起发布的,并不需要独立安装;lcov:其他博客说是随ltp发布的,结果下载下ltp之后编译了10多分钟,最后也没见lcov,最后到sourceforge下载了lcov单独的代码:1 wget http://ncu.dl.sourceforge.net/project/ltp/Coverage Analysis/LCOV-1.12/lcov-1.12

2020-07-16 11:22:47

leetcode子数组和问题综述

一维数组子数组和类问题出现频率非常多,比如560. 和为K的子数组561. 和可被 K 整除的子数组562. 连续的子数组和1477. 找两个和为目标值且不重叠的子数组这类问题有一个共同点,即均存在求数组A[0, 1,2, … n- 1]内任意子数组的和问题。如果暴力求解,将是O(n^2)。这里可以采用hash数组,将前缀和作为为key.数组下标作为value。利用sum(i + 1, j) = pre_sum(j) - pre_sum(i)的方式去求解。可将复杂度由O(n^2) 将为O(n).

2020-07-12 18:50:58

位运算-用法汇总

用位运算表示元素组合比如给定数组A = [a0, a1, a2, a3, a4]。为了表示从数组A中选择任意个元素的组合状态。组合总和为2的n次方。可以通过位运算达成。设 bits = 1 << len(A).用bits中的每i位来代表A[i]是否已选。bits的每一个不同的值代表了一种组合。这个在求线性列表的组合数里面非常有用。也可以用bits来表示具体的选择状态。参见leetcode 698. 划分为k个相等的子集 官方题解的动态规划算法。就是用到了bits来表达选择状态。...

2020-07-01 02:06:31

linux aio + epoll实践

Linux的io机制Buffered-IO 和Direct-IOLinux磁盘I/O分为Buffered IO和Direct IO,这两者有何区别呢?对于Buffered IO:当应用程序尝试读取某块数据的时候,如果这块数据已经存放在了页缓存(page cache)中,那么这块数据就可以立即返回给应用程序,而不需要经过实际的物理读盘操作。当然,如果数据在应用程序读取之前并未被存放在页缓存中,那么就需要先将数据从磁盘读到页缓存中去。对于写操作来说,应用程序也会将数据先写到页缓存中去,数据是否被立即写到

2020-06-29 22:27:05

python3标准算法库

from itertools import combinations

2020-06-24 19:24:39

哈希应用-523连续的子数组和

题目描述:给定一个包含 非负数 的数组和一个目标 整数 k,编写一个函数来判断该数组是否含有连续的子数组,其大小至少为 2,且总和为 k 的倍数,即总和为 n*k,其中 n 也是一个整数。示例 1:输入:[23,2,4,6,7], k = 6输出:True解释:[2,4] 是一个大小为 2 的子数组,并且和为 6。示例 2:输入:[23,2,6,4,7], k = 6输出:True解释:[23,2,6,4,7]是大小为 5 的子数组,并且和为 42。解答:应用 (i - j) % k

2020-06-23 23:12:21

滑动窗口-窗口大小不固定

题目:209. 长度最小的子数组给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组,并返回其长度。如果不存在符合条件的连续子数组,返回 0。实现:class Solution: def minSubArrayLen(self, s: int, nums: List[int]) -> int: length = len(nums) + 1 cur_sum = 0 left = right

2020-06-10 21:02:02

vim常用

windows上代码粘贴到linux vim中,缩进会乱。解决:Vim的编辑模式中,有一个Paste模式,在该模式下,可将文本原本的粘贴到Vim中,以避免一些格式错误。通过“:set paste”和“:set nopaste”进入和退出该模式...

2020-06-04 10:56:56

回溯基础算法

不重复元素的子集枚举对应leetcode 78题class Solution(object): def subsets(self, nums): """ :type nums: List[int] :rtype: List[List[int]] """ stack = [] ret = [] def compute(stack, seq): ret.app.

2020-06-03 19:00:12

经典算法之二分查找

寻找旋转排序数组中的最小值 II元素可能重复class Solution: def findMin(self, nums: List[int]) -> int: left = 0 right = len(nums) - 1 while left < right: if nums[left] < nums[right]: return nums[left] .

2020-05-21 00:41:44

查看更多

勋章 我的勋章
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。