题目一:获得最大子数组:
问题描述:
给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。
样例:
给出数组[-2,2,-3,4,-1,2,1,-5,3],符合要求的子数组为[4,-1,2,1],其最大和为6。

def max_sub(arr):max_sub_list = []for i in range(len(arr)):if i == 0:sub_num = arr[i]elif sub_num + arr[i] > arr[i]:max_sub_list.append(sub_num) #把每一步计算出来的求和值加入max_sub_list中sub_num = sub_num + arr[i]else:max_sub_list.append(sub_num)sub_num = arr[i]# print(sub_num)# print(max_sub_list)return max(max_sub_list)# arr = [-2, 2, -3, 4, -1, 2, 1, -5, 3]
# print(max_sub(arr))

题目二:找零钱
问题描述:
有三种硬币 quarter(25), dime(10), pennies(1),求给定一个零钱,构成硬币的最小值。
样例: 31=>4(3 dime + 1 penny)

'''
一、分析:就是给出一个数字,要用最少的硬币数量来满足
比如31,最少的硬币数量是4,就是3个dime+1个pennies
二、解题思路:
由大到小进行除法,取整数部分,然后再进行下一步
以31为例,分2步走
1、31/25得1余6,6/10得0余6,6/1得6余0,总和为7
2、31/10得3余1,1/1得1余0,总和为4
再将上面3个数量比大小
三、进一步优化思路:
1、如果该数<10的话,肯定只有pennied可以用;
2、如果该数>=10、<25的话,肯定是dime和pennies;
'''def min_coins(change):quarter, dime, pennies = 25, 10, 1if change < 10:return changeelif 10 <= change < 25:dime_num, dime_mod = divmod(change, dime)return dime_num + dime_modelif change == 25:return 1else:quarter_num, quarter_mod = divmod(change, quarter)dime_num, dime_mod = divmod(quarter_mod, dime)dime_num_2, dime_mod_2 = divmod(change, dime)return min(quarter_num + dime_num + dime_mod, dime_num_2 + dime_mod_2)# print(min_coins(99))

题目三:矩阵相交
问题描述:
给定两个矩阵的左下角和右上角,计算他们是否有重叠。
样例: ((2,1),(5,5)), ((3,3),(5,7)) => True

'''
分析:给定左下角和右上角后,因为是矩阵,所以实际图形就可以画出来了
而判定是否有重叠,其实也就是看一个矩阵是否有边界点在另一个矩阵内
解题思路:
1、判断是否点在另一个矩阵内,只需要把该点的横坐标与另一个矩阵的纵坐标上下限、
该点的纵坐标与另一个矩阵的横坐标上下限分别进行比较即可,只要2个条件都满足就是;
2、如果点在边界上,只需要判断面积是否>0,大于0的就是相交
'''def overlay(a, b):'''a[0][0]:a的横坐标下限,a[1][0]:a的横坐标上限a[0][1]:a的纵坐标下限,a[1][1]:a的纵坐标上限b同理'''a_x_min, a_x_max, a_y_min, a_y_max = a[0][0], a[1][0], a[0][1], a[1][1]b_x_min, b_x_max, b_y_min, b_y_max = b[0][0], b[1][0], b[0][1], b[1][1]if a_x_min <= b_x_min <= a_x_max and a_y_min <= b_y_min <= a_y_max:intersect_area = (min(b_x_max, a_x_max) - b_x_min) * (min(b_y_max, a_y_max) - b_y_min)elif b_x_min <= a_x_min <= b_x_max and b_y_min <= a_y_min <= b_y_max:intersect_area = (min(a_x_max, b_x_max) - a_x_min) * (min(a_y_max, b_y_max) - a_y_min)else:intersect_area = 0return intersect_areaprint(overlay(((2, 1), (5, 5)),((3, 5), (7, 7))))
# print(overlay(((2, 1), (5, 5)),
#               ((3, 3), (5, 7))))

Python:科赛3道面试题相关推荐

  1. Python 常见的 170 道面试题全解析:2022 版

    Python 常见的 170 道面试题全解析:2019 版 语言特性 1.谈谈对 Python 和其他语言的区别 答:Python 是一门语法简洁优美,功能强大无比,应用领域非常广泛,具有强大完备的第 ...

  2. python福音,170道面试题,从基础到框架

    基础篇 1. 为什么学习 Python Python 语言简单易懂,上手容易,随着 AI 风潮,越来越火 2. 解释型和编译型语言的区别 编译型语言:把做好的源程序全部编译成二进制的可运行程序.然后, ...

  3. 2020全国高校计算机能力挑战赛程序设计赛Python组区域赛(初赛)试题及参考解答

    2020全国高校计算机能力挑战赛程序设计赛Python组区域赛(初赛)试题及参考解答 简介 赛题构成 代码提交说明 成绩评定 2020真题 1-1 数字与相邻的前.后数字之和可以被4整除 题目 个人对 ...

  4. python基础知识面试题-深入解答关于Python的11道基本面试题

    前言 本文给大家深入的解答了关于Python的11道基本面试题,通过这些面试题大家能对python进一步的了解和学习,下面话不多说,来看看详细的介绍吧. 一.单引号,双引号,三引号的区别 分别阐述3种 ...

  5. Python必会的12道面试题,看看你会几题?

    今天小编为大家收集了一些Python的面试题,最近好多小伙伴给我留言说在学习Python,希望可以多发一些Python的文章.小编非常欣慰有这么多好学的小伙伴,那大家加油,把Python学好,每天都进 ...

  6. 达内python培训6,达内北京IT培训班:Python就业6道面试题分享!

    Python学到什么程度能就业?先答对这6道面试题再说!下面和达内北京IT培训班一起来看看! 基础知识 1.列出5个常用Python标准库? import os import sys import r ...

  7. 武汉光迅科技22校招笔试题(武汉邮科院控股国企上市大厂Python的txt文本处理笔试题)

    武汉光迅科技22校招笔试题(武汉邮科院控股国企上市大厂Python的txt文本处理笔试题) 资源: https://download.csdn.net/download/weixin_53403301 ...

  8. Python 全栈工程师必备面试题 300 道(2020 版)

    2020元旦巨献,面试升级必备!献给正在学习Python的同学! Python 全栈工程师必备面试题 300 道(2020 版) Python 面试不仅需要掌握 Python 基础知识和高级语法,还会 ...

  9. python数据挖掘面试题_数据挖掘150道笔试题

    作者:白宁超 2016年10月16日13:44:06 摘要:正值找工作之际,数据挖掘150道面试题涵盖很多基础知识点,如果你针对求职提前针对性准备,可以以此为为参照检查自己水平,如果你不为求职,也可以 ...

  10. Java每天5道面试题,跟我走,offer有!(八)

    2019独角兽企业重金招聘Python工程师标准>>> 76.XML技术的作用? XML技术用于数据存储. 信息配置. 数据交换三方面. 可以将数据存储在XML中, 通过节点. 元素 ...

最新文章

  1. python自带的shell是什么-python的shell是什么
  2. oracle建库及plsql建表空间的用法
  3. 云原生的新思考,为什么容器已经无处不在了
  4. Linux下删除mysql实例,linux下完全删除mysql
  5. oracle中update锁记录,oracle进行update时对行加锁的测试
  6. 解决使用PowerShell执行命令出现“因为在此系统上禁止运行脚本”的问题
  7. Cocos2dx 链接Socket服务器
  8. 编程基本功:找出BUG的特殊性,再确认BUG是否系统导致的
  9. 工业镜头、相机的结构、参数解释及选型指南
  10. waiter.OnGreet(Tom) Delegate event
  11. Spring Security OAuth2实现简单的密钥轮换及配置资源服务器JWK缓存
  12. iPhone麦田守望者》
  13. 蓝墨云班课网页版下载资源文件
  14. MacOS查找各Python版本的路径
  15. 安装虚拟机(VMware)保姆级教程(附安装包)
  16. U盘制作启动盘后只显示容量4M的问题解决
  17. 天干地支 工具类java_java日期工具类DateUtil-续二
  18. Linux的sz和rz命令讲解
  19. VLSI数字集成电路设计——组合逻辑门(上)
  20. R语言-股票数据库(1)-股票上市日期

热门文章

  1. 博士后、小工与制造业转型---深度解读
  2. 泛微E9单文本默认提示信息
  3. 中粮期货“以一战十”,三万手空单对决连豆多头
  4. 【线性回归-股票预测】
  5. 免费的编程中文书籍索引 from github
  6. Matlab之新建文件夹函数mkdir
  7. The Men Who Started a Thinking Revolution
  8. 程序员从BAT辞职去微软,总结外企工作的5条好处,称:这不是为了炫耀
  9. IaaS PaaS SaaS三者之间界限正趋于模糊
  10. glass数据下载及在arcgis的Python工具中求年平均