'''
1.买卖股票的最佳时机给定一个数组,它的第?i?个元素是一支给定股票第?i?天的价格。
如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。
注意你不能在买入股票前卖出股票。(5分)
要求:
1.输入: [7,1,5,3,6,4]
2.输出: 5
3.解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。
4.注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。
'''
class Solution:
def maxProfit(self, prices): max_profit1 = 0
if len(prices) <= 1:
return max_profit1 min_profit = prices[0]
max_profit2 = 0
for index in range(len(prices)):
if prices[index] <= min_profit:
min_profit = prices[index]
elif prices[index] - min_profit > max_profit2:
max_profit2 = prices[index] - min_profit
return max_profit2 '''
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
Input: [0,1,0,3,12]
Output: [1,3,12,0,0]
'''
class Solution1:
def moveZeroes(self, nums):
i = j = 0
for i in range(len(nums)):
if nums[i] != 0:
nums[j] , nums[i]= nums[i] , nums[j]
j += 1 '''
抓了a,b,c,d四名犯罪嫌疑人,其中有一人是小偷,审讯中:
?a说 我不是小偷;
?b说 c是小偷;
?c说 小偷肯定是d;
?d说 c胡说!
其中有三个人说的是实话,一个人说的是假话,请编程推断谁是小偷(用穷举法和逻辑表达式)
''' for i in range(4):
i += 1
if 3 == ((i != 1) + (i == 3) + (i == 4) + (i != 4)):
# 利用ascii码表输出
str = chr(96 + i) + "是小偷!"
print(str)
请手写插入查找算法,并且用注释写出思路,并且指出时间复杂度 def charu(nums,order = 1):
#第一个数不动,从第二个数开始比较
for i in range(1,len(nums)):
j=i-1
tmp = nums[i] #记录本次待比较的词语
while j >= 0:
if tmp < nums[j]:
nums[j+1] = nums[j]
nums[j] = tmp
j = j-1
else:
break
if order == 1:
return nums
else:
return nums[::-1] 有1、2、3、4、5、6、7、8、9、10个数字,能组成多少个互不相同且无重复数字的五位数?都是多少? a = [1,2,3,4,5,6,7,8,9,10]
def test2(a):
i = 0
for a in range(1, 5):
for b in range(1, 5):
for c in range(1, 5):
if a != b != c:
A = (a * 100 + b * 10 + c)
i += 1
print(A)
print("一共有" + str(i) + "种排列") 2. 二分查找 1.def bin_search(data_set,val):
2. low = 0
3. high = len(data_set)-1
4. while low <= high:
5. mid = (low+high)//2 # 整除2
6. if data_set[mid] == val: # 如果等于要查找的值,返回下标
7. return mid
8. elif data_set[mid] < val: # 如果列表中间的值小于需要的值
9. low = mid + 1 # 则把最小的下标改成mid+1
10. else: # 如果列表中间的值大于需要的值
11. high = mid - 1 # 则把最大的下标改成mid-1
12. return # 如果没找到return空
zhengze_phone=r'1[\d]{10}'
r'[\w]+@[\w]+\.[\w]{2,3}'

代码.py

python:面试算法题的更多相关文章

  1. Python面试真题答案或案例

    Python面试真题答案或案例如下: 请等待. #coding=utf-8 #1.一行代码实现1--100之和 print(sum(range(1,101))) #2.如何在一个函数内部修改全局变量 ...

  2. python经典面试算法题1.4:如何对链表进行重新排序

    本题目摘自<Python程序员面试算法宝典>,我会每天做一道这本书上的题目,并分享出来,统一放在我博客内,收集在一个分类中. 1.4 对链表按照如下要求重新排序 [微软笔试题] 难度系数: ...

  3. python经典面试算法题1.3:如何计算两个单链表所代表的数之和

    本题目摘自<Python程序员面试算法宝典>,我会每天做一道这本书上的题目,并分享出来,统一放在我博客内,收集在一个分类中. 1.2 如何实现链表的逆序 [华为笔试题] 难度系数:⭐⭐⭐ ...

  4. python经典面试算法题1.2:如何从无序链表中移除重复项

    本题目摘自<Python程序员面试算法宝典>,我会每天做一道这本书上的题目,并分享出来,统一放在我博客内,收集在一个分类中. 1.2 如何实现链表的逆序 [蚂蚁金服面试题] 难度系数:⭐⭐ ...

  5. python经典面试算法题4.1:如何找出数组中唯一的重复元素

    本题目摘自<Python程序员面试算法宝典>,我会每天做一道这本书上的题目,并分享出来,统一放在我博客内,收集在一个分类中. [百度面试题] 难度系数:⭐⭐⭐ 考察频率:⭐⭐⭐⭐ 题目描述 ...

  6. python经典面试算法题1.1:如何实现链表的逆序

    本题目摘自<Python程序员面试算法宝典>,我会每天做一道这本书上的题目,并分享出来,统一放在我博客内,收集在一个分类中. 1.1 如何实现链表的逆序 [腾讯笔试题] 难度系数:⭐⭐⭐ ...

  7. 数百道BAT等大厂最新Python面试真题,学到你手软!

    春招临近,无论是要找工作的准毕业生,还是身在职场想要提升自己的程序员,提升自己的算法内功心法.提升 Python 编程能力,总是大有裨益的.今天,小编发现了一份好资源:Python 实现的面试题集锦! ...

  8. python在算法题中判断输入结束(EOF)

    有些算法题是这样要求的,一行输入一行数据,然后没有规定我要输入多少行,你要自行判断文件结束EOF,否则是会runtime error的,因为oj内部都是用文件来进行读写的. 例如a+b,每一行输入a ...

  9. 合并K个有序数组(链表)【字节跳动面试算法题】

    本题是本人字节跳动一面考的算法题原题是有序数组,一时没想到怎么解决数组的问题,但是如果给的是有序链表数组,则可以用下面的方法解决 可以利用最小堆完成,时间复杂度是O(nklogk),具体过程如下: 创 ...

随机推荐

  1. 巨杉内核笔记 | 会话(Session)

    SequoiaDB 巨杉数据库是一款金融级分布式关系型数据库,坚持从零开始打造分布式开源数据库引擎.“内核笔记系列”旨在分享交流 SequoiaDB 巨杉数据库引擎的设计思路和代码解析,帮助社区用户深 ...

  2. Codeforces Round #602 (Div. 2, based on Technocup 2020 Elimination Round 3) A Math Problem

    //只要从所有区间右端点的最小值覆盖到所有区间左端点的最大值即可 #include<iostream> using namespace std ; int x,y; int n; int ...

  3. itext操作表单域导出PDF,俗称扣模板

    /** * templateUrl 模板文件路径,包含文件名 * targetUrl 目标路径 * dateMap 填充数据 */public class CreatePdfUtil { public ...

  4. java-判断年份是不是闰年

    if ((year%4==0)&&(year%100!=0)||(year%400==0)) {//是闰年 leapYear = true; }

  5. Form表单利用Jquery Validate验证以及ajax提交

    #表单利用Jquery验证验证以及ajax提交 概述>详细讲解表单利用Jquery >验证验证以及ajax提交的过程,以及Validate的自定义提示语,非空判断,输入字段的远程ajax验 ...

  6. Charles 查看https请求数据 Mac/ android

    Charles_v4.0.1_Mac_破解版下载地址:https://pan.baidu.com/s/1c23VPuS 1.在Mac电脑上安装Charles的根证书 打开Charles->菜单H ...

  7. 一次列表页伪静态的实现;结合nginx rewrite

    nginx伪静态: rewrite ^/(.*)-htm-(.*)$ /$1.php?$2; 将 list-html-t-3-p-4.html 转到list.php?t-3-p-4 t-3-p-4 用 ...

  8. thinkphp中路由的基本使用

    1.在application中下的config.php中 以下代码改为true // 是否开启路由 'url_route_on' => true, // 是否强制使用路由 'url_route_ ...

  9. jQuery 扩展 全屏切换

    (function ($) { //全屏切换方法 $.fn.toggleFullScreen = function (qp1, qp2) { var fullFlag = false; var _qp ...

  10. Thymeleaf th:include,th:replace使用

    来自:https://blog.csdn.net/believe__sss/article/details/79992408