面试相关
文章平均质量分 63
面试相关
青果HA
☀
展开
-
Python基础算法/剑指offer
之前完成了个人的Python编写,包括常见的一些基础算法,剑指offer的绝大多数算法的编写。都上传到github上了,很多里面都有自己几个测试用例,不过都注释掉了,直接去掉注释就好。如果对你有帮助,请记得点击github工程上的star,^_^ 现在总结如下:数据结构markdown格式链表及常见操作平衡查找树AVL三种方法检测变位词Anagram构建堆二分查找二叉查找树二叉树冒泡排序英语单词拼写转载 2018-03-28 09:21:53 · 346 阅读 · 0 评论 -
最大不重复子串
求一个字符串中不重复的最大子字符串该题需要注意的是:假设输入abcabcde,我们的思路是:第一个元素初始化列表 ans 然后从字符串索引为1(即第二个元素)开始,到len(str)=8 进行遍历 如果遇到元素不在ans中,则将其加到ans列表中,一次加了'abc' 如果该元素在ans中,就找到该元素所在的索引位置,并让列表ans等于索引位置+1到最后, 这一步就是ans = ...原创 2018-09-18 16:57:36 · 1312 阅读 · 0 评论 -
字符串的所有子串
python求字符串所有子字符串def cut(s: str): results = [] # x + 1 表示子字符串长度 for x in range(len(s)): # i 表示偏移量 for i in range(len(s) - x): results.append(s[i:i + x + 1])...原创 2018-09-18 16:58:18 · 506 阅读 · 0 评论 -
二分查找递归和非递归实现及算法复杂度
#-*- coding: UTF-8 -*- def binsearch(array,key): left,right = 0,len(array)-1 while(left <= right): mid = (left + right)//2 if array[mid] > key: right = mid ...原创 2018-09-18 17:01:12 · 525 阅读 · 0 评论 -
去重
python去重:1 新建一个列表,依次去遍历每个元素,将不再新列表中的元素append进去 li=[1,2,3,4,5,1,2,3] new_li=[] for i in li: if i not in new_li: new_li.append(i) print(new_li)2 使用集合的方法,先将列表转化成集合,再将集合转化成列表 li...原创 2018-09-18 17:02:05 · 210 阅读 · 0 评论 -
冒泡及改进
def bubblesort(array): for i in range(0,len(array)): for j in range(0,len(array)-i-1): if array[j]>array[j+1]: array[j],array[j+1] = array[j+1],array[j] ...原创 2018-09-13 19:44:06 · 275 阅读 · 0 评论 -
找出数组或者字符串中重复的数字或者字母
实现如下第一个函数:找出重复的元素第二个函数:找出重复的元素,并输出重复的次数class duplicate: def duplicate_1(self,array): d = {} res = [] for i in array: d[i] =d.get(i,0)+1 f...原创 2018-09-13 20:42:45 · 1862 阅读 · 0 评论 -
Linux如何查看进程、杀死进程、启动进程等常用命令
Linux如何查看进程、杀死进程、启动进程等常用命令1.查进程 ps 命令查找与进程相关的PID号: ps a 显示现行终端机下的所有程序,包括其他用户的程序。 ps -A 显示所有程序。 ps u 以用户为主的格式来显示程序状况。 ps x 显示所有程序,不以终端机来区分。 最常用的方法是ps aux,然后再通过管道使用grep命令过滤查找特定的进...原创 2018-09-19 17:17:14 · 555 阅读 · 0 评论 -
python生成器和迭代器
1 迭代第一,迭代需要重复进行某一操作。第二,本次迭代的要依赖上一次的结果继续往下做,如果中途有任何停顿,都不能算是迭代。# example1# 非迭代count = 0while count < 10: print("hello world") count += 1# example2# 迭代count = 0while count <...转载 2018-10-11 11:35:31 · 613 阅读 · 1 评论 -
整理资料
云计算的架构:1 software as a service 软件即服务,简称SaaS,这层的作用是将应用主要以基于Web的方式提供给客户;由于SaaS层离普通用户非常接近,所以在SaaS层所使用到的技术,大多耳熟能详,下面是其中最主要的五种:由于通用性和较低的学习成本,大多数云计算产品都会比较倾向HTML 、JavaScript和CSS这对黄金组合。2 Platform as a S...原创 2018-10-03 20:23:13 · 434 阅读 · 0 评论 -
python实现:求两个字符串的最长公共子串
假设s1 = 'abcdef' ,s2 = 'mcdea',建立一个(len(s1)+1) x (len(s2)+1)的数组,如下如所示的一个二维数组,代码的操作流程是:# -*- coding: utf-8 -*-"""Created on Thu Oct 4 16:25:35 2018@author: DELL"""'''求两个字符串的最长公共子串思想:建立一个二维数...原创 2018-10-04 18:50:41 · 2061 阅读 · 0 评论 -
python实现:找出单链表中的倒数第K个元素
1、为了找出倒数第k个元素,最容易想到的办法是首先遍历一遍单链表,求出整个单链表的长度n,然后将倒数第k个,转换为正数第n-k个,接下来遍历一次就可以得到结果。但是该方法存在一个问题,即需要对链表进行两次遍历,第一次遍历用于求解单链表的长度,第二次遍历用于查找正数第n-k个元素。# -*- coding: utf-8 -*-"""Created on Thu Oct 4 19:48:3...原创 2018-10-04 20:21:42 · 1839 阅读 · 0 评论 -
python:无序数组中寻找第K大的元素
题目:所谓“第(前)k大数问题”指的是在长度为n(n>=k)的乱序数组中S找出从大到小顺序的第(前)k个数的问题。解法1:堆排序采用元素下沉法,维护一个k大小的最小堆,对于数组中的每一个元素判断与堆顶的大小,若堆顶较大,则不管,否则,弹出堆顶,将当前值插入到堆中,继续调整最小堆。时间复杂度O(n * logk)注意:heap和array的关系;Find_heap_kth函数里面r...原创 2018-10-05 13:25:24 · 20202 阅读 · 4 评论 -
排序方法和查找方法
排序名词解释:稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后面。时间复杂度:对排序数据的总的操作次数。反映当n变化时,操作次数呈现什么规律。空间复杂度:是指算法在计算机内执行时所需存储空间的度量,它也是数据规模n的函数。 https://www.cnblogs.com/onepixe...原创 2018-09-29 12:13:27 · 635 阅读 · 0 评论 -
python实现最大子序列和——连续or不连续
# -*- coding: utf-8 -*-"""Created on Sun Oct 14 21:10:28 2018@author: DELL功能:最大子序列问题""" def test_func(num_list): ''' 求数组中最大子序列的和,子序列可以不连续 (也可以写成if判断语句只累加整数即可) ''' n=len(n...原创 2018-10-14 21:53:44 · 1717 阅读 · 0 评论 -
素数;最大公约数;最小公倍数
import math def isPrime(n): if n <= 1: return False for i in range(2, int(math.sqrt(n)) + 1): if n % i == 0: return False return Trueprint(isPrime(9))# -*- codin...原创 2018-09-20 21:12:52 · 378 阅读 · 0 评论 -
判断ip地址是否合法
def isip(ipAdd): ip = ipAdd.split('.') if len(ip)!=4: return "{} ip check failed".format(ipAdd) for i in range(4): try: ip[i]=int(ip[i]) if ip[i]&l...原创 2018-10-09 22:49:34 · 1224 阅读 · 0 评论 -
python内存管理机制
python的内存管理机制:引用计数、垃圾回收、内存池机制一 变量和对象1、Python缓存了整数和短字符串,因此每个对象在内存中只存有一份,引用所指对象就是相同的,即使使用赋值语句,也只是创造新的引用,而不是对象本身;2、Python没有缓存长字符串、列表及其他对象,可以由多个相同的对象,可以使用赋值语句创建出新的对象。附:id()是python的内置函数,用于返回对象的身份...原创 2018-09-18 13:54:19 · 284 阅读 · 0 评论 -
堆、栈、队列
堆跟栈区别——stack和heap一 数据结构中:栈就像装数据的桶或箱子我们先从大家比较熟悉的栈说起吧,它是一种具有后进先出性质的数据结构,也就是说后存放的先取,先存放的后取。这就如同我们要取出放在箱子里面底下的东西(放入的比较早的物体),我们首先要移开压在它上面的物体(放入的比较晚的物体)。堆像一棵倒过来的树而堆就不同了,堆是一种经过排序的树形数据结构,每个结点都有一个值...原创 2018-09-17 21:42:32 · 263 阅读 · 0 评论 -
大华笔试
1 给定一个长度为n的数组data,计算出data[i]-data[j]的最大值,0<=i<j<=n 分析:对于减法的计算,要是差值最大,必须要让被减数尽可能大,减数尽可能小,所以,把数组遍历一遍,存下当前最大值,并用最大值减去新进来的元素,保存当前最大的差值,更新当前最大值和当前最大的差值def max_min(array): max_value = ar...原创 2018-09-12 21:20:04 · 2586 阅读 · 0 评论 -
数据库题
count(1),count(*)假设表table如下所示, select name, count(1),count(*),count(age), count(distinct(age)) from table group by name; name age a 14 a 15 a 15 b nul...原创 2018-08-14 09:43:20 · 355 阅读 · 0 评论 -
逻辑题
如果一个数列S满足对于所有的合法的i,都有S[i + 1] = S[i] + d, 这里的d也可以是负数和零,我们就称数列S为等差数列。方法一:按照等差数列两个相邻的数之间的差值相等n = int(input("n="))l = input("elements are :")l = [int(i) for i in l.split()]l.sort()def isgen(N,L...原创 2018-08-11 14:41:25 · 279 阅读 · 0 评论 -
类的初阶
public class Animal{ void eat(){ system.out.println("我在吃草"); } void sleep(){ system.out.println("我在睡觉"); } } public class Gri...原创 2018-08-11 20:42:54 · 206 阅读 · 0 评论 -
全排列
全排列分为含有重复元素和不含重复元素两种:下面递归实现是针对不重复元素的全排列 递归实现全排列——不含重复元素 对于第一层来说,在四个数中间选出一个元素,然后对剩下的三个元素进行全排列对于第二层来说,在三个数中间选出一个元素,然后对剩下的两个元素进行全排列对于第三层来说,在两个数中间选出一个元素,剩下的元素与之前选好的元素组成一组全排列从上面逻辑可以看出,这个全排列其实可...原创 2018-08-15 22:03:38 · 253 阅读 · 0 评论 -
网络部分题集
发送方在发送了一个TCP数据包之后,经过RTO时间,没有收到对方的确认数据包,则应该?重传 2. 假设TTL的初始值为3,两台主机之间存在4个路由器,则该数据包到达目的地后的TTL的值为?数据包无法送达生存时间(TTL):长度8比特, 最大 值为255。当IP包进行传送时,先会对该字段赋予某个特定的值。用来控制数据报在网络中存在的时间。目前TTL的值并不代表时间,而是代表经由路由...原创 2018-08-13 21:45:44 · 2732 阅读 · 0 评论 -
java&linux
linux的$符号: $# 是传递给脚本的参数个数; $0 是脚本本身的名字; $1 是传递给该shell脚本的第一个参数; $2 是传递给该shell脚本的第二个参数; $@ 是传递给脚本的所有参数的列表(是多个字符串,每个参数为1个字符串); $* 是传递给脚本的所有参数的列表(以一个单字符串显示所有参数),与位置变量不同...原创 2018-08-16 19:40:07 · 1834 阅读 · 0 评论 -
字符串碎片
题目 一个由小写字母组成的字符串可以看成一些同一字母的最大碎片组成的。例如,"aaabbaaac"是由下面碎片组成的:'aaa','bb','c'。牛牛现在给定一个字符串,请你帮助计算这个字符串的所有碎片的平均长度是多少。 输入描述:输入包括一个字符串s,字符串s的长度length(1 ≤ length ≤ 50),s只含小写字母('a'-'z')输出描述:输出一个整数,...原创 2018-08-16 22:35:30 · 946 阅读 · 0 评论 -
页面置换算法
先进先出(FIFO)页面置换算法这是最早出现的置换算法。该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。该算法实现简单,只需把一个进程已调入内存的页面,按先后次序链接成一个队列,并设置一个指针,称为替换指针,使它总是指向最老的页面。但该算法与进程实际运行的规律不相适应,因为在进程中,有些页面经常被访问,比如,含有全局变量、常用函数、例程等的页面,FIFO 算法并不能...原创 2018-08-23 20:26:07 · 1320 阅读 · 0 评论 -
测试分析
你用浏览器打开一个网站,却没有按预期看到应有的网页内容。请分析各种可能的原因,如果这些原因表现出来的现象不同,也请描述人的原因:弄错网址;拼写错误;未打开网络; 本机原因:浏览器版本低不兼容网页;本机防火墙阻止访问;中病毒导致浏览器工作不正常; 服务端原因:服务器宕机;服务器出错;服务器高负载无法及时回应;服务器超负载主动拒绝回应;本机被服务端加入了黑名单; 网络原因:网络不通;网络拥塞...原创 2018-08-19 22:06:38 · 2715 阅读 · 0 评论 -
依图:面试记录
依图:首先:介绍下最近实习做的东西,针对收发包的check 给你挖坑,所以:一开始就应该说,不管什么协议的连接方式,都需要收的package数量等于发的package数量。其次:python编程用列表切片的方式写出[1,3,5,2,6,7]中偶数索引位置的列表[1,5,6] 从左到右:第一个是0 最后一个是len(s) 从右到左:最后一个是 -1 第一...原创 2018-09-25 20:19:14 · 2759 阅读 · 0 评论 -
统计文本里的出现的单词
上面为文本文件的内容# coding=utf-8import refrom collections import Counterdef words(filename='qq.txt'): with open(filename, 'r') as f: data = f.read() data = data.lower() print(data...原创 2018-09-02 19:22:13 · 610 阅读 · 1 评论 -
python 的read 、readline和 readlines以及如何读取大文件
read()方法:1、读取整个文件,将文件内容放到一个字符串变量中,如果需要对文件按行进行处理,则不可用该方法2、如果文件大于可用内存(好几个G的),不可能使用这种处理,系统会报错:MemoryError 以下两种实现方式f = open(r'C:\Users\DELL\Desktop\python\words.txt','r') #创建一个文件对象,也是一个可迭代对象try: ...原创 2018-09-02 20:14:23 · 20699 阅读 · 3 评论 -
爬楼梯
首先特别感谢xp师兄的指点,下面进入正文爬楼梯的题目一般设计为:1 假设一栋楼有n个台阶,一次可以上1级或者2级,那么上楼的方案有几种?2 假设一栋楼有n个台阶,一次可以上1级或者2级或者3级,那么上楼的方案有几种?3 假设一栋楼有n个台阶,一次至少1级但不超过m级,那么上楼的方案有几种?思路:1 爬楼梯其实就是一个斐波拉契数列,求第N项的值(这个值其实就是爬到第N层的方案...原创 2018-09-11 14:37:04 · 245 阅读 · 0 评论 -
Typedef和define的区别
Typedef和define的区别执行时间typedef在编译阶段有效,由于是在编译阶段,因此typedef有类型检查的功能。 Define则是宏定义,发生在预处理阶段,也就是编译之前,它只进行简单而机械的字符串替换,而不进行任何检查。功能不同Typedef用来定义类型的别名,这些类型不只包含内部类型(int,char等),还包括自定义类型(如struct),可以起到使类型易于记忆的功...原创 2018-09-03 22:09:17 · 236 阅读 · 0 评论 -
判断是否:1)循环链表;2)链表有环
1 判断是否为循环链表:普通链表的尾指针为空,循环单链表的尾指针为头结点。/**fun:JudgeCircularList_L()*desc:判断单链线性表L是否为循环链表,若是则返回OK,否则返回ERROR*@param: L LinkList 头指针的引用*@ret:OK/ERROR int*/Status JudgeCircularList_L(LinkList &am...原创 2018-10-30 22:05:51 · 861 阅读 · 0 评论