测试开发
文章平均质量分 65
探岳精神
我是哈哈派~~
展开
-
Latex相关问题
1、latex 构建的时候报错: ! LaTeX Error: File `xstring.sty' not found.解决方案:这个意思是说是style文件没有了,最开始我采用直接在CTAN上下载xstring.sty文件放到工程中,但在编译的时候又出现了别的.sty文件找不到的问题,并且无法在CTAN中找到相应的文件。在尝试过很多方法之后,给出以下解决方案,直接Ctrl+Alt+T,输入su...原创 2018-06-16 13:42:38 · 1905 阅读 · 0 评论 -
动不动的“上千万”——海量数据处理面试题
一、 海量数据,出现次数最多or前K1、给A,B两个文件,各存放50亿条URL,每条URL占用64个字节,内存限制为4G,找出A,B中相同的URL。【分析】我们先来看如果要把这些URL全部加载到内存中,需要多大的空间。1MB = 2^20 = 10^6 = 100W1GB = 2^30 = 10^9 = 10亿50亿 = 5G * 64 Byte = 320G明显是不可能全...转载 2018-10-29 19:26:21 · 280 阅读 · 0 评论 -
快速排序——链表快排
根据普通快排的思路,选择1个点为中心点,保证中心点左边比中心点小,中心点右边比中心点大即可.将第一个链表第一个结点的值作为左轴,然后向右进行遍历,设置一个small指针指向左轴的下一个元素,然后比较如果比左轴小的话,使small指针指向的数据与遍历到的数据进行交换。最后将左轴元素与small指针指向的元素交换即可。之后就是递归。 单链表的实现为:1.使第一个节点为中心点.2.创...转载 2018-08-17 01:26:01 · 13854 阅读 · 6 评论 -
输入一个时间,输出第二天的时间——面试编程题
题目如标题。本题主要考察边界输入问题。 #include<stdio.h>#include<conio.h>// 定义全局变量数组用于保存一年12个月分各月的天数int _MONTH[]={{31},{28},{31},{30},{31},{30},{31},{31},{30},{31},{30},{31}};void ShowDate(int,int,i...原创 2018-08-17 01:06:00 · 1943 阅读 · 0 评论 -
根据日期计算出周几——蔡勒公式
W=[C/4]-2C+y+[y/4]+[26(m+1)/10]+d-1 (其中[ ]为取整符号)W是所求日期的星期数. 如果求得的数大于7,可以直接对7取余,不过周日就输出为0了。 如果求得的数小于0,可以加上7的倍数,直到结果大于零小于7为止 c是公元年份的前两位数字, y是已知公元年份的后两位数字; m是月数, d是日数. 方括[ ]表示只截取该数的整数部分。所求的月份如...转载 2018-08-17 01:01:17 · 1684 阅读 · 0 评论 -
求未知长度单链表中倒数第k个节点——python
https://blog.csdn.net/slibra_L/article/details/78176540题目:输入一个链表,输出该链表中倒数第k个结点。 基本思路:遍历一次链表获得链表长度,再次遍历链表,至n-k+1出输出# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# ...转载 2018-08-14 17:53:25 · 637 阅读 · 0 评论 -
二分查找
题目:输入指定列表和一个待查找的元素,输出元素是否在列表中,若存在则返回下标思想:利用二分查找来做,事先需要对列表进行排序,二分查找只对有序表有效#!usr/bin/env python #encoding:utf-8 '''__Author__:沂水寒城 功能:二分查找''' def binary_search(num_list, x): '''...转载 2018-08-14 16:52:56 · 148 阅读 · 0 评论 -
寻找一个字符串中的最长重复子串(后缀数组)&找出一个字符串中最长不重复子串
一、寻找一个字符串中的最长重复子串(后缀数组)后缀数组其实可以看寻找一个字符串中的最长重复子串(后缀数组)作一个由字符串s倒数i个字符组成的子串的集合,其中0<i<s.length(),例如 字符串strstr的后缀数组为: {r,tr,str,rstr,trstr,strstr} 得到这个集合之后,我们可以发现,最长重复子串其实变成了求该集合中任意两个元素的最长公共前缀的问题。...转载 2018-08-17 00:53:50 · 2862 阅读 · 0 评论 -
长度为2N的数组分割成2个长度为N的数组,且两数组的和的差的绝对值最小
该问题类似于动态规划中的0-1背包问题。详解可见编程之美2.18(p207)——数组分割https://blog.csdn.net/a1031616423/article/details/50946001https://blog.csdn.net/hqw11/article/details/50933730https://www.cnblogs.com/AndyJee/p/4543...转载 2018-08-17 00:54:16 · 1928 阅读 · 0 评论 -
数组和链表的区别
转载:https://blog.csdn.net/qq_25806863/article/details/70607204大致总结一下特点和区别,拿几个人一起去看电影时坐座位为例。数组的特点在内存中,数组是一块连续的区域。 拿上面的看电影来说,这几个人在电影院必须坐在一起。 数组需要预留空间,在使用前要先申请占内存的大小,可能会浪费内存空间。 比如看电影时,为了保证10个人能坐在一起...转载 2018-08-14 15:06:47 · 106 阅读 · 0 评论 -
等概率随机数生成器
题目:假设你已经有一个随机数生成器,能够以概率p生成0,概率1-p生成1,请问如何设计算法以概率q等概率地生成0-6这七个数字中的一个?即每个数字的概率均为q,q<1/7.我们先从简单的情况开始考虑,假设需要生成0和1,二者概率均为q。那么我们可以让已有的随机数生成器产生两个数字,那么产生的数字及概率是:Number Prob 00 p2p2 01...转载 2018-08-14 14:52:05 · 2444 阅读 · 0 评论 -
数据结构排序算法
一、直接插入排序(1)算法思想:假设第一个数是有序的,那么把后面的数拿出来插入到这个有序数的合适位置,假设是升序(比第一个数小则向后移动第一个数,将数插入到第一个数的前面),插入后有序区间扩大为两个,依次向后,不断拿出新的数插入到有序区间,再扩大这个有序区间直至区间大小等于排序数组的大小。(2)时间复杂度:时间上,最好情况当序列已经是有序排列了,在这种情况下,需要进行的比较操...转载 2018-08-10 15:21:55 · 725 阅读 · 1 评论 -
Leetcode——两数之和(twoSum)、三数之和(threeSum)——Python
一、两数之和class Solution(object): def twoSum(self, nums, target): """ :type nums: List[int] :type target: int :rtype: List[int] """ #对应每个测试案例,输出两个数,小...原创 2018-07-30 23:35:48 · 3431 阅读 · 0 评论 -
剑指offer66题(Python)——第十天
55、构建乘积数组给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。【思路】如果没有不能使用除法的限制,可以用公式B[i]=A[0]*A[1]*.....*A[n-1]/A[i]表示,使用除法时要特别注意A[i]等于0的情况。可以把B[i]=A[0...转载 2018-05-27 17:44:48 · 186 阅读 · 0 评论 -
剑指offer66题(Python)——第九天
49、n个骰子的点数扔 n 个骰子,向上面的数字之和为 S。给定 Given n,请列出所有可能的 S 值及其相应的概率。给定 n = 1,返回 [ [1, 0.17], [2, 0.17], [3, 0.17], [4, 0.17], [5, 0.17], [6, 0.17]]。方法一:递归【思路】设n个骰子某次投掷点数和为s的出现次数是F(n, s),那么,F(n, s)等于n - 1个骰子投...转载 2018-05-27 16:48:50 · 276 阅读 · 0 评论 -
剑指offer66题(Python)——第八天
43、和为S的连续正数序列小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!【思路】*初始化small=1...原创 2018-05-27 10:48:39 · 294 阅读 · 0 评论 -
剑指offer66题(Python)——第七天
37、数组中的逆序对在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007。【思路】根绝归并排序的原理,可得到时间复杂度为O(n*logn)的方法。先将原序列排序,然后从排完序的数组中取出最小的,它在原数组中的位置表示有多少比它大的数在它前面,每取出一...原创 2018-05-26 17:34:59 · 163 阅读 · 0 评论 -
剑指offer66题(Python)——第六天
31、最小的K个数输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。# -*- coding:utf-8 -*-class Solution: def GetLeastNumbers_Solution(self, tinput, k): # write code here if tin...转载 2018-05-25 11:07:08 · 232 阅读 · 0 评论 -
剑指offer66题(Python)——第五天
25、二叉搜索树的后序遍历序列输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。思路:要注意二叉搜索树的特点。 BST的后序序列的合法序列是,对于一个序列S,最后一个元素是x (也就是根),如果去掉最后一个元素的序列为T,那么T满足:T可以分成两段,前一段(左子树)小于x,后一段(右子树)...原创 2018-05-23 13:28:21 · 319 阅读 · 0 评论 -
剑指offer66题(Python)——第四天
19、树的子结构输入两棵二叉树A,B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)。思路:对于两棵二叉树来说,要判断B是不是A的子结构,首先第一步在树A中查找与B根节点的值一样的节点。通常对于查找树中某一个节点,我们都是采用递归的方法来遍历整棵树。第二步就是判断树A中以R为根节点的子树是不是和树B具有相同的结构。这里同样利用到了递归的方法,如果节点R的值和树的根节点不相同,则以R为根...原创 2018-05-21 20:22:29 · 184 阅读 · 0 评论 -
剑指offer66题(Python)——第三天
あなたほばかですか.13、打印1到最大的n位数 打印1到最大的n位数,如n=3时打印1到999 思路:求出最大的n位数,然后依次打印,但当n十分大事会出问题。这里涉及到大数问题。n = 2num = 1for i in range(n): num = num*10for i in range(1,num): print i一个更完善的思路: 用字符串表示数字,进行进位,...原创 2018-05-20 21:07:33 · 154 阅读 · 0 评论 -
剑指offer66题(Python)——第二天
如果你只做力所能及的事,你就永远无法进步。7、斐波那契数列对于斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。思路:嗯,就是如果你面试的时候用递归的方法就可以准备走人了,我们需要高效的方法。可以利用递推的无后效性,记忆前两个状态。还有一种高级别算法,采用矩阵,算法的时间复杂度只有logN。# -*- coding:utf-8 -*-class Solution: de...原创 2018-05-20 16:48:40 · 327 阅读 · 0 评论 -
剑指offer66题(Python)——第一天
现在才开始刷题,似乎有点晚了,但是只要做了,永远都不晚!1、二维数组查找在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:从左下角元素往上查找,右边元素是比这个元素大,上边是的元素比这个元素小。于是,target比这个元素小就往上找,比这个元素大就往右找。如果出了边界,则说明二...原创 2018-05-19 22:04:15 · 291 阅读 · 0 评论 -
WebService
一、webservice是什么? 1.基于WEB的服务,服务端整出一些资源让客户端应用访问(提供数据) 2.webservice是一个跨语言跨平台的规范(抽象) 3.是多个跨语言跨平台的应用间通信整合的方案(实际)二、webservice相当于什么? webservice = http+xml+schema三、WSDL1.webservice定义语言,对应.wsdl文档 ...转载 2018-06-08 10:43:09 · 160 阅读 · 0 评论 -
WEB服务器和中间件
一、WEB服务器 WEB服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务。 WWW 采用的是浏览器/服务器结构,其作用是整理和储存各种WWW资源,并响应客户端软件的请求,把客户所需的资源传送到 Windows 95(或Windows 98)、Windows NT、UNⅨ 或 Linux 等平台上。 B/S架构两方面好...转载 2018-06-07 22:08:10 · 20745 阅读 · 0 评论 -
Linux查看时间相关命令
Linux系统查看当前时间的命令 Linux系统的代码性操作很繁琐,怎样查看和修改Linux的时间呢?下面是Linux系统查看当前时间的命令,希望学习啦小编整理的对你有用,欢迎阅读: Linux系统查看当前时间的命令: 一、查看和修改Linux的时区 1. 查看当前时区 命令 : "date -R" 2. 修改设置Linux服务器时区 方法 A ...转载 2018-08-06 14:35:23 · 8745 阅读 · 0 评论 -
执行iptables -P INPUT DROP后无法联网
使用iptables -P INPUT DROP来全部关掉input链路后,随之产生了一个很严重的问题,那么服务器本身发送的数据请求返回的数据同样被iptables拒之门外,一个通俗的解释就是外部数据无法访问本地服务,本地服务器也无法正常上网。解决的办法如下:iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT...转载 2018-08-06 11:57:21 · 10552 阅读 · 1 评论 -
Linux——$1、$#、$@、$0、$1、$2
$1在shell中称为“位置参数”,表示传入的第1个参数(第1个入参)。test -z $1 是一个判断表达式,用于判断$1的值是否为空字符串。若为空,则结果为true;否则为false。常用的shell中带有$符号的几个变量的含义:区别:@ *相同点:都是引用所有参数 不同点:只有在双引号中体现出来。假设在脚本运行时写了三个参数(分别存储在1 2 3)则"*" 等价于 “...转载 2018-07-19 21:59:45 · 36223 阅读 · 0 评论 -
Linux命令——umount、stat、find、文件覆盖>、文件追加>>、wc
1、umount命令Linux umount命令用于卸除文件系统。umount可卸除目前挂在Linux目录中的文件系统。umount [-ahnrvV][-t <文件系统类型>][文件系统]-v 执行时显示详细的信息。# umount -v /dev/sda1 通过设备名卸载 /dev/sda1 umounted # umount -v /...转载 2018-07-19 17:02:24 · 1009 阅读 · 0 评论 -
Vim多行注释和多行删除
1.多行注释: 首先按esc进入命令行模式下,按下Ctrl + v,进入列(也叫区块)模式; 在行首使用上下键选择需要注释的多行; 按下键盘(大写)“I”键,进入插入模式; 然后输入注释符(“//”、“#”等); 最后按下“Esc”键。 注:在按下esc键后,会稍等一会才会出现注释,不要着急~~时间很短的2.删除多行注释: 首先按esc进入命令行模式下,按下...转载 2018-07-19 09:02:57 · 357 阅读 · 0 评论 -
Linux——Shell脚本
重头戏终于来了!一、Shell脚本简介shell script 是利用 shell 的功能所写的一个『程序 (program)』,这个程序是使用纯文本文件,将一些 shell 的语法与指令(含外部指令)写在里面, 搭配正规表示法、管线命令与数据流重导向等功能,以达到我们所想要的处理目的。#!/bin/bash 在宣告这个 script 使用的 shell 名称。用vi test.sh创建一个she...原创 2018-06-13 23:02:55 · 718 阅读 · 1 评论 -
正则表达式
出来混迟早是要还的,真心不想学这个啊,但是用处又很大,只有默默地捡起来。一、基础正规表示法1、基础正规表达式练习(1)搜寻特定字符串——grep -n 'the' regular_express.txt——反向选择:grep -vn 'the' regular_express.txt——取得不论大小写的 the 这个字符串:grep -in 'the' regular_express.txt(2)...原创 2018-06-12 16:37:56 · 204 阅读 · 0 评论 -
Linux——Bash
一、查询指令是否为 Bash shell 的内建命令: type二、变量的取用与设定:echo, 变量设定规则, unset可以利用 echo 这个指令来取用变量, 但是,变量在被取用时,前面必须要加上钱字号『 $ 』才行。 『设定』或者是『修改』 某个变量的内容 : 用『等号(=)』连接变量与他的内容 注:myname=VBird不能有空格。在 bash 当中,当一个变量名...原创 2018-06-12 10:23:29 · 1642 阅读 · 0 评论 -
Linux——vim编辑器
vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。 一、vi的使用基本上 vi 共分为三种模式,分别是『一般指令模式』、『编辑模式』与『指令列命令模式』。 一般指令模式 (command mode)以 vi 打开一个文件就直接进入一般指令模式了(这是默认的模式,也简称为一般模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使...原创 2018-06-11 20:28:04 · 1568 阅读 · 0 评论 -
Linux命令与基本知识
一、基本知识1、Linux内多有的数据都是以文件的形态呈现的。Linux系统中最重要的在于目录树结构。整个目录树结构最重要的是根目录,其表示方法为“/”。2、挂载(mount):即将目录树结构的架构与磁盘内的数据结合起来。挂载利用一个目录作为进入点,将磁盘分区的数据放置在该目录下,也就是说,进入该目录就可以读取该分区。树状目录结构/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命...原创 2018-06-11 10:34:39 · 329 阅读 · 0 评论 -
NFS-Ganesha框架学习
一、整体框架 NFS Ganesha 分层架构图 Ganesha 是一个基于模块的程序,每个模块都负责各自的任务和目标。开发团队在写代码之前就对每个模块进行了精心的设计,保证了后期扩展的便捷性。比如缓存管理模块只负责管理缓存,任何在缓存管理模块上做出的更改不能影响其他模块。这么做大大减少了每个模块...原创 2018-08-07 19:49:10 · 7276 阅读 · 0 评论 -
块储存、对象存储、文件存储
通常来讲,磁盘阵列都是基于Block块的存储,而所有的NAS产品都是文件级存储。在讲这三者的内容和区别之前,先介绍一下结构化数据,半结构化数据和非结构化数据。1、结构化数据结构化的数据是指可以使用关系型数据库表示和存储,表现为二维形式的数据。一般特点是:数据以行为单位,一行数据表示一个实体的信息,每一行数据的属性是相同的。结构化的数据的存储和排列是很有规律的,这对查询和修改等操作很有帮...原创 2018-08-07 19:40:46 · 2390 阅读 · 0 评论 -
Grafana+prometheus监控部署
1、软件介绍1.1、PrometheusPrometheus是一个开源的服务监控系统,它通过HTTP协议从远程的机器收集数据并存储在本地的时序数据库上。它提供了一个简单的网页界面、一个功能强大的查询语言以及HTTP接口等等。Prometheus通过安装在远程机器上的exporter来收集监控数据。特点:多维数据模型(有metric名称和键值对确定的时间序列) 灵活的查询语言 不依赖分布式存储...原创 2018-08-06 15:03:47 · 3351 阅读 · 0 评论 -
菜鸟手动部署ceph环境
本人实属菜鸟,不小心跑脚本搞崩了一台服务器。。。学艺不精,难受。。。话不多说,闯的祸总得弥补和解决~ 一、安装ubuntu系统这个不是此处重点,但是由于本人以前都是在各种大佬的庇护下成长的,所以这种事情也是头一回,还是搞了好一会儿。可以参照一下两个链接的教程:https://jingyan.baidu.com/article/bea41d439726c1b4c51be629...原创 2018-07-23 15:32:30 · 4483 阅读 · 0 评论 -
软件定义存储SDS
一、存储技术发展演变1.DAS(开放系统的直连式存储,Direct-Attached Storage) 直连式存储与服务器主机之间的连接通道通常采用SCSI连接,随着服务器CPU的处理能力越来越强,存储硬盘空间越来越大,阵列的硬盘数量越来越多,SCSI通道将会成为IO瓶颈;服务器主机SCSI ID资源有限,能够建立的SCSI通道连接有限。大容量存储 RAID磁盘阵列 磁盘文件系统...转载 2018-07-16 09:26:33 · 5795 阅读 · 1 评论