Python作业答疑_6.22~6.25
一、Python 一班
1. 基数分割列表
1.1 问题描述
给定一无序数列,把数列的第一个数字当成基数,让数列中基数小的数字排在数列前面,比基数大的数字排在数列的后面。
1.2 问题示例
如数列:num=[4,1,8,3,9,2,10,7]。基数为 4,排序后 num=[1,3,2,4,8,9,10,7]。
1.3 问题提示
可以使用左右指针方案。
1.4 编码实现
num = [4, 1, 8, 3, 9, 2, 10, 7]
# 基数
base_num = num[0]
# 左指针
left = 0
# 右指针
right = len(num) - 1
while left < right:while num[right] > base_num and right > left:right -= 1while num[left] < base_num and right > left:left += 1# 交换num[left], num[right] = num[right], num[left]
print(num)
2. 回旋镖的数量
2.1 问题描述
在平面中给定n个点,每一对点都是不同的,回旋镖是点的元组(i,j,k),其中,点i和点j之间的距离与点i和点k之间的距离相同(i,j,k的顺序不同,为不同元组)。找到回旋镖的数量。n最多为500,并且点的坐标都在[-10 000,10 000]范围内。
2.2 问题示例
输入[[0,0],[1,0],[2,0]],输出2,两个回旋镖是[[1,0],[0,0],[2,0]]和[[1,0],[2,0],[0,0]]。
2.3 问题提示
关键是求解出两个点之间的距离。
2.4 编码实现
def getDistance(a,b):dx = a[0] - b[0]dy = a[1] - b[1]return dx * dx + dy * dydef number0fBoomerangs(points):# 参数points:整数列表#返回整数if points == None:return 0ans = 0for i in range(len(points)):disCount = {}for j in range(len(points)):if i == j:continuedistance = getDistance(points[i],points[j])count = disCount.get(distance,0)disCount[distance] = count + 1for distance in disCount:ans += disCount[distance] * (disCount[distance] - 1)return ansn = [[0,0],[1,0],[2, 0]]
print("输入:",n)
print("输出:",number0fBoomerangs(n))
3. 合并排序数组
3.1 问题描述
合并两个排序的整数数组A和B,变成一个新的排序数组。
3.2 问题示例
输入[1,2,3]及元素个数3,输入[4,5]及元素个数2,输出[1,2,3,4,5],经过合并新的数组为[1,2,3,4,5]。输入[1,2,5]及元素个数3,输入[3,4]及元素个数2,输出[1,2,3,4,5],经过合并新的数组为[1,2,3,4,5]。
3.3 编码实现
a = [1, 4, 6]
b = [3, 5]
c = []
i = 0
j = 0
while i < len(a) and j < len(b):if a[i] < b[j]:c.append(a[i])i += 1else:c.append(b[j])j += 1
while i < len(a):c.append(a[i])i += 1
while j < len(b):c.append(b[j])j += 1
print(c)
二、Python 二班
1. 构造矩形
1.1 问题描述
给定一个矩形大小,设计其长(L)宽(W),使其满足如下要求:
- 矩形区域大小需要和给定目标相等;
- 宽度
W不大于长度L,即L≥W; - 长和宽的差异尽可能小;
- 返回设计好的长度L和宽度W。
1.2 问题示例
输入为4,输出为[2,2],目标面积为4,所有可能的组合有[1,4],[2,2],[4,1],[2,2]是最优的,L=2,W=2。
1.3 问题提示
给定区域面积不超过10 000 000,而且是正整数,页面宽度和长度必须是正整数。
1.4 编码实现
方案一:两头向中思路,求差值最小的一对长和宽
area = int(input("矩形大小:"))
wi = 1
le = area
c = le-wi
for i in range(1, area + 1):le = area // iif le - i < c and le >= i and le * i == area:wi = ic = le - i
print(int(area / wi), wi)
方案二:中间开始,试探查找 。
import math
area = int(input("矩形大小:"))
w = int(math.sqrt(area))
while area % w != 0:w -= 1
print(area // w, w)
2. 两个排序数组合的第k小元素
2.1 问题描述
给定两个排好序的数组A,B,定义集合sum=a+b,其中a来自数组A,b来自数组B,求sum中第k小的元素。
2.2 问题示例
给出A=[1,7,11],B=[2,4,6],sum=[3,5,7,9,11,13,13,15,17],当k=3,返回7;当k=4,返回9;当k=8,返回15。
2.3 问题提示
最简单的方案,2 个列表中的数字相乘组成新的列表,再排序。
2.4 编码实现
k = int(input("位置"))
A = [1, 7, 11]
B = [2, 4, 6]
s = []
for i in range(len(A)):for j in range(len(B)):s.append(A[i] + B[j])
s.sort()
print(s[k - 1])
三、Python 三班
1. 首字母大写
1.1 问题描述
输入一个英文句子,将每个单词的首字母改成大写
1.2 问题示例
输入s="i want to go home",输出"I Want To Go Home"。输入s="we want to go to school",输出"We Want To Go To School"。
1.3 问题提示
可以使用 split分割字符串,取出首字母后转换成大写(可以使用字符串的 upper()方法把字母转成大写)。
1.4 编码实现
s = "i want to go home"
lst = s.split(" ")
print(lst)
for i in range(len(lst)):lst[i] = lst[i][0].upper()+lst[i][1:]
print(" ".join(lst))
2. 七进制
2.1 问题描述
给定一个整数,返回其七进制的字符串表示。
2.2 问题示例
输入num=100,输出202。输入num=7,输出10。
2.3 问题提示
求解七进制方法:把数字不停除以 7。再把余数重新连接起来。
如求解 100 的 七进制:
-
100 除以 7 ,余数为 2,商为
14. -
14 再除以 7,余数为
0,商为2。 -
2再除了7,余数为2,商为0。从后向前,把余数连接起来:
202。
2.4 编码实现
num=7
res=""
while num>0:res+=str(num % 7)num=num // 7
print(res[::-1])
3. 查找数组中没有出现的所有数字
3.1 问题描述
给定一个整数数组,其中1≤a[i]≤n(n为数组的大小),一些元素出现两次,其他元素出现一次。找到[1,n]中所有未出现在此数组中的元素。
3.2 问题示例
输入[4,3,2,7,8,2,3,1],输出[5,6]。
3.3 问题提示
逐一查找!
3.4 编码实现
num = [4, 3, 2, 7, 8, 2, 3, 1]
for i in range(1,len(num)+1):if i not in num:print(i)
相关文章:
Python作业答疑_6.22~6.25
一、Python 一班 1. 基数分割列表 1.1 问题描述 给定一无序数列,把数列的第一个数字当成基数,让数列中基数小的数字排在数列前面,比基数大的数字排在数列的后面。 1.2 问题示例 如数列:num[4,1,8,3,9,2,10,7]。基数为 4&…...
Uber Go 语言编码规范
uber-go/guide 的中文翻译 English 文档链接 Uber Go 语言编码规范 Uber 是一家美国硅谷的科技公司,也是 Go 语言的早期 adopter。其开源了很多 golang 项目,诸如被 Gopher 圈熟知的 zap、jaeger 等。2018 年年末 Uber 将内部的 Go 风格规范 开源到 G…...
UniRepLKNet:用于音频、视频、点云、时间序列和图像识别的通用感知大内核ConvNet
摘要 https://arxiv.org/abs/2311.15599 大核卷积神经网络(ConvNets)最近受到了广泛的研究关注,但存在两个未解决的关键问题需要进一步研究。(1)现有大核ConvNets的架构在很大程度上遵循传统ConvNets或Transformers的设计原则,而大核ConvNets的架构设计仍未得到充分解决。(2…...
Http协议与Tomcat
HTTP协议 HTTP协议(HyperText Transfer Protocol)即超文本传输协议 ,是TCP/IC网络体系结构应用层的一个客户端-服务端协议,是所有客户端,服务端数据传输的基石(数据传输规则) 特点 ⭐基于TCP协…...
Spring AOP从入门到精通
目录 1. AOP的演化过程 1. 代理模式 2. 动态代理 2.1 JDK动态代理 2.2 Cglib动态代理 3. Spring模式 3.1 ProxyFactory 3.2 ProxyFactoryBean 3.3 AbstractAutoProxyCreator 2. Spring AOP抽象 1. 核心术语 1.1 连接点(JoinPoint) 1.2 切点(Pointcut) 1.3 增强(Ad…...
Tap虚拟网卡
1 概述 Tap设备通常用于虚拟化场景下,其驱动代码位于drivers/net/tun.c,tap与tun复用大部分代码, 注:drivers/net/tap.c并不是tap设备的代码,而是macvtap和ipvtap; 下文中,我们统一称tap&#…...
【数电笔记】53-与非门构成的基本RS触发器
目录 说明: 1. 电路组成 2. 逻辑功能 3. 特性表 4. 特性方程 5. 状态转换图 6. 驱动表 7. 例题 例1 例2 说明: 笔记配套视频来源:B站;本系列笔记并未记录所有章节,只对个人认为重要章节做了笔记;…...
kubernetes(k8s)容器内无法连接同所绑定的Service ClusterIP问题记录
kubernetes(k8s)容器内无法连接同所绑定的Service ClusterIP问题记录 1. k8s环境 k8s使用kubernetes-server-linux-amd64_1.19.10.tar.gz 二进制bin 的方式手动部署 k8s 版本: [rootmaster ~]# kubectl version Client Version: version.Info{Major:"1", Minor:&…...
Hadoop入门学习笔记
视频课程地址:https://www.bilibili.com/video/BV1WY4y197g7 课程资料链接:https://pan.baidu.com/s/15KpnWeKpvExpKmOC8xjmtQ?pwd5ay8 这里写目录标题 一、VMware准备Linux虚拟机1.1. VMware安装Linux虚拟机1.1.1. 修改虚拟机子网IP和网关1.1.2. 安装…...
堆栈,BSS,DATA,TEXT
一、目标文件 首先目标文件的构成,Linux下就是.o 文件 编译器编译源码后生成的文件叫目标文件(Object File)。 目标文件和可执行文件一般采用同一种格式,这种存储格式为 ELF。 目前文件的内容至少有编译后的机器指令代码和数据&a…...
Java八股文面试全套真题【含答案】-JSON篇
什么是JSON? 答案:JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,基于JavaScript的对象字面量表示法,用于在不同语言和平台之间传输数据。JSON的数据结构是怎样的? 答案…...
数据库管理-第119期 记一次迁移和性能优化(202301130)
数据库管理-第119期 记一次迁移和性能优化(202301130) 1 迁移 之前因为DV组件没有迁移成功的那个PDB,后来想着在目标端安装DV组件迁移,结果目标端装不上,而且开了SR也没看出个所以然来。只能换一个方向,尝…...
【云原生-K8s】镜像漏洞安全扫描工具Trivy部署及使用
基础介绍基础描述Trivy特点 部署在线下载百度网盘下载安装 使用扫描nginx镜像扫描结果解析json格式输出 总结 基础介绍 基础描述 Trivy是一个开源的容器镜像漏洞扫描器,可以扫描常见的操作系统和应用程序依赖项的漏洞。它可以与Docker和Kubernetes集成,…...
【Docker】Swarm的ingress网络
Docker Swarm Ingress网络是Docker集群中的一种网络模式,它允许在Swarm集群中运行的服务通过一个公共的入口点进行访问。Ingress网络将外部流量路由到Swarm集群中的适当服务,并提供负载均衡和服务发现功能。 在Docker Swarm中,Ingress网络使…...
gcc安全特性之FORTIFY_SOURCE
GCC 4.0引入了FORTIFY_SOURCE特性,旨在加强程序的安全性,特别是对于字符串和内存操作函数的使用。下面是对FORTIFY_SOURCE机制的深入分析: 1. 功能 FORTIFY_SOURCE旨在检测和防止缓冲区溢出,格式化字符串漏洞以及其他与内存操作…...
【JUC】二十、volatile变量的特点与使用场景
文章目录 1、volatile可见性案例2、线程工作内存与主内存之间的原子操作3、volatile变量不具有原子性案例4、无原子性的原因分析:i5、volatile变量小总结6、重排序7、volatile变量禁重排的案例8、日常使用场景9、总结 volatile变量的特点: 可见性禁重排无…...
软件工程期末复习(2)
学习资料 设计模式与软件体系结构【期末全整理答案】_软件设计模式与体系结构期末考试题_鸽子不二的博客-CSDN博客 软件设计与体系结构(第二版)部分习题_软件设计与体系结构第二版课后答案-CSDN博客 软件体系结构试题库试题和答案 - 豆丁网Docin 软件设计与体系结构复习 - CN…...
[vue3] 使用 vite 创建vue3项目的详细流程
一、vite介绍 Vite(法语意为 “快速的”,发音 /vit/,发音同 “veet”) 是一种新型前端构建工具,能够显著提升前端开发体验(热更新、打包构建速度更快)。 二、使用vite构建项目 【学习指南】学习新技能最…...
#HarmonyOS:软件安装window和mac预览Hello World
Window软件地址 https://developer.harmonyos.com/cn/develop/deveco-studio#download 安装的建议 这个界面这样选,其他界面全部按照默认路径往下走!!! 等待安装… 安装环境错误处理 一般就是本地node配置异常导致ÿ…...
nginx 一键切换停机维护页面 —— 筑梦之路
背景说明 进行停机维护或者系统升级等操作,会影响到用户使用,如果停机维护期间用户未看到停机维护的通知,仍去访问系统,会提示默认不太友好的访问错误界面 ,这时如果在维护的时候直接展示停机公告的具体信息࿰…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
