楼主: Nicolle
1747 48

【独家发布】Python面试日记 [推广有奖]

版主

巨擘

0%

还不是VIP/贵宾

-

TA的文库  其他...

Python Programming

SAS Programming

Must-Read Books

威望
16
论坛币
12295046 个
通用积分
116.0892
学术水平
2966 点
热心指数
2981 点
信用等级
2778 点
经验
449953 点
帖子
20543
精华
92
在线时间
7904 小时
注册时间
2005-4-23
最后登录
2019-8-18

Nicolle 学生认证  发表于 2019-2-9 01:17:02 |显示全部楼层

本帖隐藏的内容

Python面试日记.zip (503.22 KB)


  1. 这个是自己日常改写和积累的python资料:本次资料提供大量的python面试的准备资料,包括常用的python版本代码段、python网络编程的各个部分的实现方式、python版本的设计模式、以及最最会考的令人头痛的算法问题(python版本)
复制代码
  1. 目前主要包含四个大方面

  2. ###1、算法与数据结构(python版本实现)

  3. ###2、网络编程(python版本实现)

  4. ###3、设计模式(python版本实现)

  5. ###4、python版本的代码片段

  6. ###5、公司python面试题及面试题python版本实现
复制代码



已有 2 人评分经验 学术水平 热心指数 信用等级 收起 理由
zl89 + 100 精彩帖子
fin-qq + 80 + 3 + 3 + 3 精彩帖子

总评分: 经验 + 180  学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

本帖被以下文库推荐

stata SPSS
Nicolle 学生认证  发表于 2019-2-9 01:18:44 |显示全部楼层
Python数据结构与算法练习
  1. # from collections import Counter
  2. # li =['a','b','c','d','a']
  3. # a= Counter(li)
  4. # print a
  5. # print len(set(li))
  6. # print "{0}:{1}".format(a.values(),a.keys())
  7. import pprint
  8. ll=[[1,2,3],[4,5,6],[7,8,9]]
  9. a=pprint.PrettyPrinter(width=30)
  10. a.pprint(ll)
  11. print ll
复制代码
回复

使用道具 举报

Nicolle 学生认证  发表于 2019-2-9 01:19:42 |显示全部楼层
Python数据结构与算法练习
  1. def cover(board,lab=1.top=0,left=0,side=None):
  2.     if side is None:side=len(board)
  3.     #side length of subboard
  4.     s=side//2
  5.     offsets=(0,-1),(side-1,0)
  6.     for dy_outer, dy_inner in offsets:
  7.         for dx_outer, dx_inner in offsets:
  8.             # If the outer corner is not set...
  9.             if not board[top + dy_outer][left + dx_outer]:
  10.                 # ... label the inner corner:
  11.                 board[top + s + dy_inner][left + s + dx_inner] = lab

  12.     # Next label:
  13.     # 递归解决子问题
  14.     lab += 1
  15.     if s > 1:
  16.         for dy in [0, s]:
  17.             for dx in [0, s]:
  18.                 # Recursive calls, if s is at least 2:
  19.                 lab = cover(board, lab, top+dy, left+dx, s)

  20.     # Return the next available label:
  21.     return lab
复制代码
回复

使用道具 举报

Nicolle 学生认证  发表于 2019-2-9 01:20:28 |显示全部楼层
Python数据结构与算法练习
  1. import time
  2. def gnomesort(seq):
  3.     i=0
  4.     while i<len(seq):
  5.         if i==0 or seq[i-1]<=seq[i]:
  6.             i+=1
  7.         else:
  8.             seq[i-1],seq[i]=seq[i],seq[i-1]
  9.             i-=1
  10. ll=[1,2,4,5,3,1]
  11. print ll
  12. start = time.clock()
  13. gnomesort(ll)
  14. print ll
  15. end = time.clock()
  16. print ('%.10f')%(end-start)
  17. #平均时间0.0000406436
复制代码
回复

使用道具 举报

Nicolle 学生认证  发表于 2019-2-9 01:21:27 |显示全部楼层
Python数据结构与算法练习
  1. # def insert_sort(seq,i):
  2. #     if i==0:return
  3. #     insert_sort(seq,i-1)
  4. #     j=i
  5. #     while j>0 and seq[j-1]>seq[j]:
  6. #         seq[j-1],seq[j]=seq[j],seq[j-1]
  7. #         j-=1
  8. # #
  9. # def insert_sort():
  10. #     for i in range(1,len(seq)):
复制代码
回复

使用道具 举报

Nicolle 学生认证  发表于 2019-2-9 01:21:59 |显示全部楼层
Python数据结构与算法练习
  1. import time,cProfile
  2. def mergesort(seq):
  3.     mid = len(seq)//2
  4.     lft,rgt = seq[:mid],seq[mid:]
  5.     if len(lft)>1:lft = mergesort(lft)
  6.     if len(rgt)>1:rgt = mergesort(rgt)
  7.     res=[]
  8.     while lft and rgt:
  9.         if lft[-1]>=rgt[-1]:
  10.             res.append(lft.pop())
  11.         else:
  12.             res.append(rgt.pop())
  13.     res.reverse()
  14.     return (lft or rgt) +res
  15. if __name__=='__main__':
  16.     start = time.clock()
  17.     L=[3,2,9,4,5,7,6,8]
  18.     print L
  19.     print mergesort(L)
  20.     end  = time.clock()
  21.     print end-start
  22.     #平均时间0.000114540953523
复制代码
回复

使用道具 举报

Nicolle 学生认证  发表于 2019-2-9 01:26:06 |显示全部楼层

Python数据结构与算法练习

  1. #-*-coding=utf-8-*-
  2. #暴力解法
  3. def celeb(G):
  4.     n = len(G)
  5.     for u in range(n):
  6.         for v in range(n):
  7.             if u==v:continue
  8.             if G[u][v]:break
  9.             if not G[v][u]:break
  10.         else:
  11.             return u
  12.     return None
  13. from random import randrange
  14. m=100
  15. G=[[randrange(2)for i in range(m)]for i in range(m)]
  16. c=randrange(m)
  17. for i in range(m):
  18.     G[i][c]=True
  19.     G[c][i]=False
  20. print celeb(G)
  21. # print G
复制代码
回复

使用道具 举报

rich617 发表于 2019-2-9 01:27:48 |显示全部楼层
谢谢楼主分享,感谢感谢!!
回复

使用道具 举报

Nicolle 学生认证  发表于 2019-2-9 01:28:23 |显示全部楼层
牛客网习题

  1. 二叉树的镜像
  2. # -*- coding:utf-8 -*-
  3. # class TreeNode:
  4. #     def __init__(self, x):
  5. #         self.val = x
  6. #         self.left = None
  7. #         self.right = None
  8. class Solution:
  9.     # 返回镜像树的根节点
  10.     def Mirror(self, root):
  11.         # write code here
  12.         #由图可得出,左右子树互换
  13.         if not root:
  14.             return None
  15.         tmp = root.left
  16.         root.left = self.Mirror(root.right)
  17.         root.right = self.Mirror(tmp)
  18.         return root
复制代码
回复

使用道具 举报

Nicolle 学生认证  发表于 2019-2-9 01:29:23 |显示全部楼层
二维数组的查找
  1. # -*- coding:utf-8 -*-
  2. class Solution:
  3.     # array 二维列表
  4.     def Find(self, target, array):
  5.         # write code here
  6.         n = len(array)
  7.         for i in range(n):
  8.             num = len(array[i])
  9.             for ii in range(num):
  10.                 if target == array[i][ii]:
  11.                     return True
  12.         return False
  13. #在一个二维数组中,每一行都按照从左到右递增的顺序排序,
  14.         # 每一列都按照从上到下递增的顺序排序。请完成一个函数,
  15.         # 输入这样的一个二维数组和一个整数,判断数组中是否含有该整数
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 我要注册

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2019-8-18 13:19