当前位置: 首页 > news >正文

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 问题描述 给定一无序数列&#xff0c;把数列的第一个数字当成基数&#xff0c;让数列中基数小的数字排在数列前面&#xff0c;比基数大的数字排在数列的后面。 1.2 问题示例 如数列&#xff1a;num[4,1,8,3,9,2,10,7]。基数为 4&…...

Uber Go 语言编码规范

uber-go/guide 的中文翻译 English 文档链接 Uber Go 语言编码规范 Uber 是一家美国硅谷的科技公司&#xff0c;也是 Go 语言的早期 adopter。其开源了很多 golang 项目&#xff0c;诸如被 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协议&#xff08;HyperText Transfer Protocol&#xff09;即超文本传输协议 &#xff0c;是TCP/IC网络体系结构应用层的一个客户端-服务端协议&#xff0c;是所有客户端&#xff0c;服务端数据传输的基石&#xff08;数据传输规则&#xff09; 特点 ⭐基于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设备通常用于虚拟化场景下&#xff0c;其驱动代码位于drivers/net/tun.c&#xff0c;tap与tun复用大部分代码&#xff0c; 注&#xff1a;drivers/net/tap.c并不是tap设备的代码&#xff0c;而是macvtap和ipvtap&#xff1b; 下文中&#xff0c;我们统一称tap&#…...

【数电笔记】53-与非门构成的基本RS触发器

目录 说明&#xff1a; 1. 电路组成 2. 逻辑功能 3. 特性表 4. 特性方程 5. 状态转换图 6. 驱动表 7. 例题 例1 例2 说明&#xff1a; 笔记配套视频来源&#xff1a;B站&#xff1b;本系列笔记并未记录所有章节&#xff0c;只对个人认为重要章节做了笔记&#xff1b…...

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入门学习笔记

视频课程地址&#xff1a;https://www.bilibili.com/video/BV1WY4y197g7 课程资料链接&#xff1a;https://pan.baidu.com/s/15KpnWeKpvExpKmOC8xjmtQ?pwd5ay8 这里写目录标题 一、VMware准备Linux虚拟机1.1. VMware安装Linux虚拟机1.1.1. 修改虚拟机子网IP和网关1.1.2. 安装…...

堆栈,BSS,DATA,TEXT

一、目标文件 首先目标文件的构成&#xff0c;Linux下就是.o 文件 编译器编译源码后生成的文件叫目标文件&#xff08;Object File&#xff09;。 目标文件和可执行文件一般采用同一种格式&#xff0c;这种存储格式为 ELF。 目前文件的内容至少有编译后的机器指令代码和数据&a…...

Java八股文面试全套真题【含答案】-JSON篇

什么是JSON&#xff1f; 答案&#xff1a;JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;基于JavaScript的对象字面量表示法&#xff0c;用于在不同语言和平台之间传输数据。JSON的数据结构是怎样的&#xff1f; 答案&#xf…...

数据库管理-第119期 记一次迁移和性能优化(202301130)

数据库管理-第119期 记一次迁移和性能优化&#xff08;202301130&#xff09; 1 迁移 之前因为DV组件没有迁移成功的那个PDB&#xff0c;后来想着在目标端安装DV组件迁移&#xff0c;结果目标端装不上&#xff0c;而且开了SR也没看出个所以然来。只能换一个方向&#xff0c;尝…...

【云原生-K8s】镜像漏洞安全扫描工具Trivy部署及使用

基础介绍基础描述Trivy特点 部署在线下载百度网盘下载安装 使用扫描nginx镜像扫描结果解析json格式输出 总结 基础介绍 基础描述 Trivy是一个开源的容器镜像漏洞扫描器&#xff0c;可以扫描常见的操作系统和应用程序依赖项的漏洞。它可以与Docker和Kubernetes集成&#xff0c;…...

【Docker】Swarm的ingress网络

Docker Swarm Ingress网络是Docker集群中的一种网络模式&#xff0c;它允许在Swarm集群中运行的服务通过一个公共的入口点进行访问。Ingress网络将外部流量路由到Swarm集群中的适当服务&#xff0c;并提供负载均衡和服务发现功能。 在Docker Swarm中&#xff0c;Ingress网络使…...

gcc安全特性之FORTIFY_SOURCE

GCC 4.0引入了FORTIFY_SOURCE特性&#xff0c;旨在加强程序的安全性&#xff0c;特别是对于字符串和内存操作函数的使用。下面是对FORTIFY_SOURCE机制的深入分析&#xff1a; 1. 功能 FORTIFY_SOURCE旨在检测和防止缓冲区溢出&#xff0c;格式化字符串漏洞以及其他与内存操作…...

【JUC】二十、volatile变量的特点与使用场景

文章目录 1、volatile可见性案例2、线程工作内存与主内存之间的原子操作3、volatile变量不具有原子性案例4、无原子性的原因分析&#xff1a;i5、volatile变量小总结6、重排序7、volatile变量禁重排的案例8、日常使用场景9、总结 volatile变量的特点&#xff1a; 可见性禁重排无…...

软件工程期末复习(2)

学习资料 设计模式与软件体系结构【期末全整理答案】_软件设计模式与体系结构期末考试题_鸽子不二的博客-CSDN博客 软件设计与体系结构(第二版)部分习题_软件设计与体系结构第二版课后答案-CSDN博客 软件体系结构试题库试题和答案 - 豆丁网Docin 软件设计与体系结构复习 - CN…...

[vue3] 使用 vite 创建vue3项目的详细流程

一、vite介绍 Vite&#xff08;法语意为 “快速的”&#xff0c;发音 /vit/&#xff0c;发音同 “veet”) 是一种新型前端构建工具&#xff0c;能够显著提升前端开发体验&#xff08;热更新、打包构建速度更快&#xff09;。 二、使用vite构建项目 【学习指南】学习新技能最…...

#HarmonyOS:软件安装window和mac预览Hello World

Window软件地址 https://developer.harmonyos.com/cn/develop/deveco-studio#download 安装的建议 这个界面这样选&#xff0c;其他界面全部按照默认路径往下走&#xff01;&#xff01;&#xff01; 等待安装… 安装环境错误处理 一般就是本地node配置异常导致&#xff…...

nginx 一键切换停机维护页面 —— 筑梦之路

背景说明 进行停机维护或者系统升级等操作&#xff0c;会影响到用户使用&#xff0c;如果停机维护期间用户未看到停机维护的通知&#xff0c;仍去访问系统&#xff0c;会提示默认不太友好的访问错误界面 &#xff0c;这时如果在维护的时候直接展示停机公告的具体信息&#xff0…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接&#xff1a;A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串&#xff0c;只有在同时为 o 时输出 Yes 并结束程序&#xff0c;否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下&#xff0c;江苏艾立泰以一场跨国资源接力的创新实践&#xff0c;重新定义了绿色供应链的边界。 跨国回收网络&#xff1a;废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点&#xff0c;将海外废弃包装箱通过标准…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

招商蛇口 | 执笔CID,启幕低密生活新境

作为中国城市生长的力量&#xff0c;招商蛇口以“美好生活承载者”为使命&#xff0c;深耕全球111座城市&#xff0c;以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子&#xff0c;招商蛇口始终与城市发展同频共振&#xff0c;以建筑诠释对土地与生活的…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件&#xff0c;我的文件路径是/etc/mysql/my.cnf&#xff0c;有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

深入理解Optional:处理空指针异常

1. 使用Optional处理可能为空的集合 在Java开发中&#xff0c;集合判空是一个常见但容易出错的场景。传统方式虽然可行&#xff0c;但存在一些潜在问题&#xff1a; // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...

在 Spring Boot 中使用 JSP

jsp&#xff1f; 好多年没用了。重新整一下 还费了点时间&#xff0c;记录一下。 项目结构&#xff1a; pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...

用鸿蒙HarmonyOS5实现国际象棋小游戏的过程

下面是一个基于鸿蒙OS (HarmonyOS) 的国际象棋小游戏的完整实现代码&#xff0c;使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├── …...