常见的面试题整理

在这里插入代码片
#二分查找def binarySearch(alist, item):first=0;last=len(alist)-1;while first <= last:mid=(first+last)/2;print(mid)if alist[mid]>item:last=mid-1;elif alist[mid]<item:first=mid+1return -1test=[0,1,2,8,13,17,19,9,0]print(binarySearch(test,3))#冒泡排序
def bubbleSort(alist):for passnum in range(len(alist)-1,0,-1):for i in range(passnum)if alist[i]>alist[i+1]:alist[i],alist[i+1]=alist[i+1],alist[i]return alist#插入排序def insertionSort(alist):for index in range(1,len(alist)):currentValue=alist[index]position=indexwhile position>0 and alist[position-1]>currentValue:alist[position]=alist[position-1]position-=1alist[position]=currentValue#快速排序
def quickSort(alist):quickSortHelper(alist,0,len(alist)-1)def quickSortHelper(alist,first,last):if first<last:splitPoint=partition(alist,first,last)quickSortHelper(alist,first,splitPoint-1)quickSortHelper(alist,splitPoint+1,last)def partition(alist,first,last)item=alist[first]left=first+1right=lastwhile left<right:while alist[left]<=item and left<=rightleft +=1alist[left],alist[right]=alist[right],alist[left]while alist[right]>=item and left<=right:right -=1alist[left],alist[right]=alist[right],alist[left]return right#return left#树的四种遍历
class node(object):def __init__(self,data=None,left=None,right=None):self.data=dataself.left=leftself.right=right#深度def depth(tree):if tree== None:return 0left,right=depth(tree.left),depth(tree.right)return max(left,right)+1#前序遍历def pre_order(tree):if tree==None:returnprint tree.datapre_order(tree.left)pre_order(tree.right)#中序遍历def min_order(tree):if tree== None:returnmin_order(tree.left)print(tree.data)min_order(tree.right)#后序遍历def post_order(tree):if tree==Nonereturnpost_order(tree.left)post_order(tree.right)print(tree.data)#层次遍历def level_order(tree):if tree==Nonereturnq=[]q.append(tree)while q:current=q.pop(0)print current.dataif current.left != None:q.append(current.left)if current.right !=None:q.append(current.right)#括号匹配
def match_parentTheses(s):ls=[]parentTheses="()[]{}"for i in range(len(s)):si=s[i]if parentTheses.find(si) == -1:continueif si == "(" or si=="{" or si=="[":ls.append(si)continueif len(ls)==0:return Falsep=ls.pop()if (p == '(' and si == ')') or (p == '[' and si == ']') or (p == '{' and si == '}'):continueelse:return Falseif len(ls)>0:return Falsereturn True#反转链表
def ReverseList(self,pHead):if not pHead or not pHead.next:return pHeadlast=Nonewhile pHead:tmp=pHead.nextpHead.next=lastlast=pHeadpHead=tmpreturn last#链表是否有环
def hasCycle(self,head):flag=Falseif head is None or head.next is None or head.next.next is None:return flag#对slow,fast进行初始化fast = head.next.nextslow=head.nextwhile fast is not slow:if fast.next is None or fast.next.next is None:return flagfast=fast.next.nextslow=slow.nextif fast is slow:flag=Truereturn flagif __name__=='__main__'pass#归并排序
def merge(L,R):n=len(L)+len(R)L.append(float("inf"))R.append(float("inf"))i=0j=0A=[]for k in range(0,n):if(L[i]<R[j])A.append(L[i])i=i+1else:A.append(R[j])j=j+1return A
merge([1,5,6],[2,3])
def merge_sort(A)l=len(A)if l<=1:return Aelse:mid=l/2print midleft=merge_sort(A[0:mid])right=merge_sort(A[mid:])return merge(left,right)merge_sort([3,2,1,0,5,8,7,2,-5,9,6,11])#改写归并排序
def merge(left,right):res=[]while left and right:min_val=left.pop(0) if left[0] < right[0] else right.pop(0)res.append(min.val)res += left if left else rightreturn resdef merge_sort(A):if len(A)<=1:res=Aelse:mid=len(A)/2left,right=merge_sort(A[:mid]),merge_sort(A[mid:])res=merge(left,right)return res

动态规划:https://blog.csdn.net/zichen_ziqi/article/details/82184495
1、硬币问题

2、爬楼梯问题(青蛙跳台问题)

3、装箱问题与背包问题

4、最大递增子序列问题(最长上升子序列问题)

5、最长公共子序列问题

6、最长公共子串问题

7、最大连续子序列求和问题(最大子串求和问题)

8、股票收益最大化(一次交易、多次交易与最多两次交易)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/zichen_ziqi/article/details/82184495

                              在线编程——动态规划常见的面试问题总结(Python)


http://www.taodudu.cc/news/show-1069893.html

相关文章:

  • 机器学习(Machine Learning)、深度学习(Deep Learning)、NLP面试中常考到的知识点和代码实现
  • AutoPep8-----Pycharm自动排版工具
  • python中模块、函数与各个模块之间的调用
  • 一个完整的算法开发
  • 创建python的虚拟环境(图文教程),并使用。
  • requirements.txt一键安装项目所需要的的python包
  • python杂谈
  • 爬取词库,使用jieba分词库,自定义dict.txt文件+将搜狗词库.scel文件为.txt文件
  • python 异常处理相关说明
  • mysql: order by, group by ,having, select, where 执行 顺序
  • jieba分词并做分析
  • 2020年考证时间表汇总!这些证书值得拥有!
  • python 判断一个点(坐标)是否在一个多边形内利用射线法
  • mysql匹配字符
  • 量化投资交易 vn.py
  • 用flask部署模型
  • 【NLP-NER】命名实体识别
  • Python 文件操作中的读写模式:open(path, ‘-模式-‘,encoding=‘UTF-8‘)+python读写文件txt +文本数据预处理
  • lambda函数+map函数的结合使用 list(map(lambda x: list(x)[0], X))
  • 最全目标检测相关资料整理 (目标检测+数据增强+卷价神经网络+类别不均衡...)
  • 安装tensorflow出现超时,找不到指定模+python 各个指定版本安装
  • 《少年的你》短评情感分析——机器学习之逻辑回归
  • 2020国内互联网公司的开源项目及Github地址部分汇总
  • 何使用BERT模型实现中文的文本分类
  • 训练数据量中关于batch_size,iteration和epoch的概念
  • jieba.cut与jieba.lcut的区别
  • DSSM、CNN-DSSM、LSTM-DSSM等深度学习模型在计算语义相似度上的应用+距离运算
  • Linux服务器安装cuda,cudnn,显卡驱动和pytorch超详细流程
  • 安装paddlepaddle-GPU 报libcudnn.so和libcublas.so找不到的解决方案
  • 一文读懂最强中文NLP预训练模型ERNIE

常见的面试题整理 -python相关推荐

  1. 用python编制一个的类_常见面试题整理--Python概念篇

    前言 众所周知,每年的三月份和四月份都是招聘.找工作的高峰期,所以被人们成为金三银四,所以小编特地整理了一些关于Python的面试题,希望对你们有所帮助! (一).这两个参数是什么意思:*args,* ...

  2. 最常见并发面试题整理!(速度收藏)

    前言 并发编程是面试中必问的知识点之一,所以本文整理了一些最为常见的并发面试题,一起来看吧~ 1. synchronized的实现原理以及锁优化? synchronized的实现原理 synchron ...

  3. 常见面试题整理--Python概念篇

    所属网站分类: 面试经典 > python 作者:骷髅无悔 原文链接: http://www.pythonheidong.com/blog/article/471/ 来源:python黑洞网 w ...

  4. 前端最常见的面试题整理

    自我简介 你好,面试官,我叫XX,有两年的开发经验,来应聘前端开发工程师这一岗位,上一家公司是XXX时代科技有限公司,期间主要负责pc端网站的开发,还有微信小程序和app的维护,开发的技术栈主要就是v ...

  5. 常见Android面试题整理

    1. Android的四大组件是哪些,它们的作用? 答:Activity:Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,它需要为保持各界面的状态,做很多持 ...

  6. 面试必备,JS常见算法面试题整理

    素数 Q:你将如何验证一个素数? A:一个素数只能被它自己和1整除.所以,我将运行一个while循环并加1.(看代码示例,如果你无法理解,那这不是你的菜.先回去学习JavaScript基础知识然后再回 ...

  7. 常见前端面试题整理(带答案)

    [HTML篇] 1. HTML语义化的目的是什么?简述一下你对HTML语义化的理解 (1)根据内容的语义化,选择合适的标签.便于开发人员阅读和写出更优雅的代码,也便于团队后期的开发和维护: (2)在没 ...

  8. 常见Jvm面试题总结及答案整理 120道(持续更新)

    最新Jvm面试题总结及答案[附答案解析]Jvm面试题及答案2021,Jvm面试题最新面试题,Jvm面试题新答案已经全部更新完了,有些答案是自己总结的,也有些答案是在网上搜集整理的.这些答案难免会存在一 ...

  9. 常见JVM面试题及答案整理(2022持续更新)

    Java面试题及答案(2022版),适用于应届生.有工作经验的程序员,每道都是认真筛选出的高频面试题,助力大家能找到满意的工作! JVM篇 下载链接:全部面试题及答案PDF 1.JVM 的主要组成部分 ...

最新文章

  1. [转]Asp.Net 上传大文件专题(3)--从请求流中获取数据并保存为文件[下]
  2. 【Netty】什么是编码器和解码器?
  3. 部署 JSP 工程文件
  4. 基于matlab 论文知网,基于MATLAB的校园图像处理与分析
  5. Workbox.strategies v3.x 中文版
  6. 智能交通助力城市道路行车提速15%
  7. 用c 语言创建web项目,使用Maven创建Web应用程序项目
  8. JAVA判断素数法+引用方法
  9. Java面试题及答案(2021年Java面试题大全带答案)
  10. linux网络测速qerf,www.cpg.com.ph
  11. 51单片机usb烧录电路_51单片机怎么用usb烧写程序
  12. vivado error:Multiple declarations of unsigned included via multiple use clauses
  13. mysql outer join的用法_MySQL 8 中的连接语法JOIN、OUTER JOIN的相关用法
  14. C#入门学习笔记(基于刘铁锰老师C#入门2014教学视频)【2】
  15. $.each()方法的使用
  16. 六自由度机器人关节坐标系变换及机器人工具TCP
  17. Linux中MySQL数据库的管理
  18. 2021.09青少年软件编程(Python)等级考试试卷(三级)
  19. 图解央行房贷新政 首付才是刚需族最大门槛
  20. php 如果有 截取,PHP 字符串截取

热门文章

  1. windows系统c++多线程开发
  2. 常用哈希函数的比较及其实现
  3. 单例模式(Java)
  4. 我做技术的这十年,我不做技术的这一年~
  5. 单片机的Bootloader,可以实现用户轻松升级程序
  6. 这届全明星,把NBA又燃回来了
  7. 嵌入式OS入门笔记-以RTX为案例:三.初探进程
  8. 全国计算机等级考试暨南大学,9月暨南大学计算机等级考试报名时间通知
  9. 视觉slam十四讲 pdf_视觉SLAM十四讲|第12讲 回环检测
  10. 【Kaggle微课程】Natural Language Processing - 2.Text Classification