Featured post

leetcode刷题汇总

leetcode题目不断刷新,大家也都一直在刷,本文记录作者刷题记录,一直更新,权当抛砖引玉,欢迎大家一块交流学习。如果各位leetcoder发现题解有问题,欢迎指正交流,也希望大家可以提出更新颖的解题方法。新建leetcode算法交流群259150720,欢迎leetcoder进群交流。 0001 Two Sum array Easy 0002 Add Two Numbers linked li …

Continue reading

收发包调优策略(一)

客户需要用到一种场景:A-B-C三台虚拟机位于三个独立的host上,A到B配置vxlan,B到C配置vxlan,A到C不配置vxlan,从而A和B可以通信,B和C可以通信,但是A和C不能直接通信,然后在A上添加路由route add -host IP_of_C gw IP_of_B,同理在C上配置路由route add -host IP_of_A gw IP_of_B,也就是当A打算与C通信时将报 …

Continue reading

[leetcod题解]684. 冗余连接

在本问题中, 树指的是一个连通且无环的无向图。 输入一个图,该图由一个有着N个节点 (节点值不重复1, 2, …, N) 的树及一条附加的边构成。附加的边的两个顶点包含在1到N中间,这条附加的边不属于树中已存在的边。 结果图是一个以边组成的二维数组。每一个边的元素是一对[u, v] ,满足 u < v,表示连接顶点u 和v的无向图的边。 返回一条可以 …

Continue reading

python中zip函数使用方法详解

zip函数是python中的内建函数,改函数可以传入多个可迭代对象,其作用是,按位置把多个可迭代对象中的元素封装成tuple数组。其结果也是可迭代对象,可以进行迭代输出。zip函数中如果传入多个可迭代对象,那list中tuple个数以长度最短的可迭代对象中元素个数为准。 用法实例: key = [‘one’, ‘two’, ‘three’] val = [1, 2, 3, 4] for item …

Continue reading

绑定qemu进程只pcpu

qemu主进程绑定简介 由于一台无力机上会运行多台虚拟及,而每台虚拟机的业务不同,造成量不同程度的资源占用,对于存储io秘密性的虚拟机,为了避免对临位的虚拟机的干扰,需要将不同虚拟机处理io的存储进程完全隔离,由于qemu主进程是处理前后端的主要服务进程是处于前端后端的主要服务进程,故需要实现隔离。qemu主进程绑定特性是将qemu主进程绑定到特定的无力cpu范围内,从而保证量不同虚拟机因为业务不 …

Continue reading

c/cpp使用Cython来调用python代码

python本身由c语言实现,所以理论上来说python代码是能够转换为c代码的。这里可以使用Cython来完成这一工作,相比较与python2.7官方提供的方法,Cython的方式更强大,更方便。 1.python2.7官方提供的方法来实现 main.c #include “Python.h” int main(int argc, char **argv) { Py_Initialize(); …

Continue reading

python素数筛算法实现

python中有列表生成式这种机制,可以很方便的产生一个无穷可列的序列。另外python中提供了filter函数,该函数可以作用在任何可迭代的对象上,更重要的是该函数的结果本质上是一个生成式,也就是惰性序列。 结合以上几点可以很容易的使用python实现素数筛的算法。 1.一个无穷序列,从自然数2一次递增 2.依次得到一个素数,并使用该素数对无穷序列进行筛选,只留下无法整除的 3.使用筛选结果更新 …

Continue reading

sublime配置方便的python运行

安装完sublime后,可以直接写python程序并通过ctrl+b来运行程序,但是无法输入内容,如果想配置接受用户内容输入,则要安装sublimeREPL 1.安装 package control 2.安装sublimeREPL 3.设置快捷键(Preference-key-bindings-usr) [ { “keys”:[“f5”], “command”:”repl_open”, “capt …

Continue reading

unicode 与 utf记录

字符串编码中会因为不同的编码而导致乱码问题,所以,出现了Unicode编码,Unicode编码是把所有语言的字符全部收集起来, 称为统一字符集(ucs),并把这些字符进行一个统一的编码,用一个整数码点来表示,范围是0-0x10ffff,所以大量的字符无法如 ASCII码一样只用一个字节就可存储。所以就涉及到如何更好的存储Unicode编码的问题。 很明显要表示一个Unicode码点需要三个字节,所 …

Continue reading

gcc编译复习结合最近项目

gcc原本是GNU C Compiler,现在是GNU Compiler Collections。 gcc编译C文件分为四步,依次为预处理、编译、汇编、链接。 1.预处理 gcc -E main.c -o main.i 让编译过程进行完预处理就停止 2.编译(变为汇编代码) gcc -S main.i -o main.s 编译是以预处理文件作为输入,进行编译,形成汇编代码。 3.汇编 gcc -c …

Continue reading

[转自98]公派出国经验心得

公派出国经验心得 签证结束,公派出国的事情也算是定了。有点时间,把我这持续了将近一年时间的公派出国后续汇总一下,写个心得,以飨后人,也算是报答下自己从各位前辈获得的心得。 以下是我初步划分的几个公派出国的步骤。 第一步:满足资格 国家公派出国是有名额限制的,从往年的经验来讲,控制学院一般有报名人数的一半的名额,只要是在学院的推送排名中前一半的,就有很大机会拿到资格。其他学院不是很清楚。学院排名的依 …

Continue reading

[98转载]跨考计院CS的一些微小的经验

转一个学弟的跨考经验,感觉计思路很清晰。 其实觉得自己没什么能力写这样一个经验贴,毕竟自己是擦线进复试,最后靠复试被录取的,初试分那么低,写了帖子反倒误人子弟呢。但今天妹子回家了,刚和朋友出去吃了一顿,回到图书馆,毕设论文看不懂(哎,我这毕设真难啊…..),想着还是写点东西,各位看官且看且批评吧,写得不好的地方…..我也不负责,哈哈。 先说自身情况:工信大类某专业,想转CS,于是决定考研。 英语、 …

Continue reading

[98转载]今年是第五年,我回来这里,如曾诺于你

今年是第五年,我回来这里,如曾诺于你 这个id是我在cc98的第一个id,却不是那个当过许多斑竹,杀帖锁人扮黑脸够冷酷的同名id。或许私心里,就是不愿意这个最初的id沾染任何不自由不随意。 我离开浙大在2008那年,那时候我与一个叫许梦天涯的id相约,五年后要回来说说自己这些年都如何。这五年,我有时回来看看满眼陌生的id,他早已杳无音讯,头像从不曾亮起。总之,如今五年已到,我回来这里,如曾诺于你。 …

Continue reading

c语言中sizeof注意事项

在C语言中,sizeof作用于char和字符变量时,结果为1,但是作用于字符常量时,结果为4,因为在C语言中,对字符常量默认为int型。 即: char ch = ‘c’; sizeof(char); //结果为1 sizeof(ch); //结果为1 sizeof(‘c’); //结果为4 在C++中这点不同,sizeof作用于char和字符变量以及字符常量是结果均为1。 char ch = ‘ …

Continue reading

strtod函数使用

strtod是stdlib.h中定义的一个函数,其作用是将传入的字符串型数转化为数学的数。 strtod在执行前会把前导的空白字符略去,比如“   123”,会转化为123.0000,前面的前导空白字符自动跳过。 strtod第二个参数是一个指向字符串指针的指针,传回能转换到的最后一个字符的下一个字符指针,如果不需要,可以设置为NULL。 如果要转换的数超出double表示范围会返回HU …

Continue reading

[pat题解]1108.Finding Average

PAT1108题,本题要求输入N个字符串,然后判断这些字符串是否表示一个合法的数,将所有合法的数求和并计算其均值。对于不合法的数,对其进行输出。 合法规则:值必须在[-1000, 1000]范围内,并且精度不能超过小数点后两位。规则比较简单。 本题注意点: 1.要判断精度,比如1.000,精度为三位小数,不符合规则,则表示该数是非法的。 2.要判断该字符串能否表示一个数,比如aaa,显然不能表示一 …

Continue reading

[华为OJ题解]特殊要求字符串排序

本题是一个简单排序的题目,但是题目中对于不同字符给予不同的处理,稍微麻烦一点。主要涉及大小写忽略的稳定排序。输出的时候要固定非字母字符的位置等知识点。 题目要求如下: 规则1:英文字母从A到Z排列,不区分大小写。       如,输入:Type 输出:epTy 规则2:同一个英文字母的大小写同时存在时,按照输入顺序排列。     如,输入:BabA …

Continue reading

[华为OJ题解]求解最小公倍数

华为oj题解,给定两个数,求这两个数的最小公倍数。两个数的最小公倍数求法为两数的乘积除以两数的最大公约数,所以,本质上本题就是求解两个数的最大公约数问题。求解最大公约数直接使用辗转相除法进行求解即可。代码如下: #include <iostream> #include <string> using namespace std; int gcd(int a, int b) { …

Continue reading

python排序函数sorted用法分析

在程序中经常会用到排序功能,python中提供了sorted函数来进行排序操作。 简单的排序操作直接使用sorted进行,复杂点的排序需要配合lambda表达式或者operator模块中的方法进行。 如下,首先是对自定义的复杂类型进行排序操作(包括复合排序),还有一类是对字典对象进行排序。 1.对自定义的对象进行较复杂的条件排序,比如按姓名排序,按成绩排序,先按成绩若成绩相等再按姓名排序等多种排序 …

Continue reading

python装饰器完整写法

在24中设计模式中有装饰模式,该模式的思想很简单,装饰物和被装饰物继承共同的类,然后装饰物中包含被装饰物的引用,这样就可以一层层进行装饰——可以有很多层装饰。 python中的装饰器跟这一模式类似,可以对方法进行装饰。比如对已有的函数要在其前后加上相应的预处理和后处理功能,可以使用装饰器方便的完成这一过程。 下面首先通过一个例子说明python中装饰器的用法。 假设有一个发送消息的方法sendMs …

Continue reading

[leetcode题解]215.Kth Largest Element in an Array(数组中找第k大数)

leetcode,215,Kth Largest Element in an Array,给定一个包括若干元素的数组以及一个k,要求在数组中找出第k大的数。 通常的思路是排序,然后可以快速找到第k大的数,时间复杂度o(nlogn)。比较好的方法是借助快排的思想,一次轴分,可以以o(n)的时间复杂度找到第k大数。 c++代码: class Solution { public: //author:凌风 …

Continue reading

[pat题解]1074.Reversing Linked List(25)

本题要求对一个链表进行分组逆置,给定K,每K个元素为一组,将组中元素逆置,如果最后一组元素不足K个,则不做处理。 本题个人做法为使用map来组织链表结构,可以方便的进行查询和处理。 c++代码如下:  #include <algorithm> #include <cstdio> #include <iostream> #include <vect …

Continue reading

[leetcode题解]143. Reorder List(链表重排序)

leetcode第143题,recorder list,属于linked-list相关的题目。 题目给定一个单链表,然后要求按给定的顺序重新排列所有元素,要求在原地做,而且不能修改节点中的值,只能修改节点的插入顺序。重排序的规则如下示例: L:a0->a1->a2->a3…..->an 将其修改为L:a0->an->a1->an-1->& …

Continue reading

[leetcode题解]2.Add Two Numbers

leetcode,2,Add Two Numbers,给定两个单链表,将两个单链表从左到右进行相加,题目中已知不会出现前导0。本题可以直接对两单链表同时进行遍历相加即可,保留一个进位,检测最后是否要进行正确进位,python和c++两种语言写,代码如下: python代码 class Solution(object): def addTwoNumbers(self, l1, l2): “”” :t …

Continue reading