用python来解PAT乙级1075链表元素分类-25-20分 (有注释)最后一个超时

GD32F4xx 移植agile_modbus软件包与电能表通信 GD32F4XX 移植agile modbus软件包实现与DTSU电能表通信调试记录 阅读详情

本题看似繁琐,其实只需要分为两个步骤来做

首先按照给定的首个结点坐标和输入的多组数据,来将单链表的顺序给排出来

然后根据题意 按照每个结点位置的数值来将单链表分成三个部分:小于0,大于0小于K,大于K

最后输出就ok

代码如下:

import sys
first , n , k = input().split()
n = int(n)
k = int(k)

addr_data = dict()
addr_next = dict()

data_shuchu = dict()
data_print = dict()#这两个是为了方便输出

addr_sort = []

for h in range(n):#接收输入数据,保存到字典里,方便输出
    addr , data , next = sys.stdin.readline().split()
    addr_data[addr] = data
    addr_next[addr] = next

    data_shuchu[int(data)] = f'{addr} {data}'
    data_print[int(data)] = addr

while first != '-1':#单链表排序(正序)
    addr_sort.append(first)#得到单链表次序的结点坐标列表
    first = addr_next[first]

data_sort = [int(addr_data[i]) for i in addr_sort]#得到单链表次序的数值列表

res = []

#分三个循环按照数值大小分成三块
for i in data_sort:
    if i<0:
        res.append(i)#负数
for j in data_sort:
    if 0<=j<=k:
        res.append(j)#小于K值的
for h in data_sort:
    if h>k:
        res.append(h)#大于K值的

for v in range(len(res)-1):
        sys.stdout.write(f'{data_shuchu.get(res[v])} {data_print.get(res[v+1])}\n')
sys.stdout.write(f'{data_shuchu.get(res[-1])} -1\n')

因为怕超时,所以用了sys模块的stdin和stdout的输入输出方式提高效率,虽然最后还是超时了。。。

对于创建字典和列表一类的,千万不要怕麻烦,创建的越多中间的过程会越简单,只是你要记得各种名称,别把自己给弄晕了就成。。。

下面是提交结果:

华为OD机考双机位C卷 - 螺旋数字矩阵 (Java & Python& JS & C/C++ & GO ) 华为OD机考双机位C卷 - 数字螺旋矩阵(OD上机考试双机位C卷)。提供在线OJ刷题。Java、C++、Python、GO语言、C语言、JavaScript题解,并提供完整思路讲解。 阅读详情

相关推荐

线性回归LinearRegression

对视频中线性回归算法的相关内容进行总结与记录 文章目录一、理论基础二、实例2.1 一元线性回归2.1.1 推导过程2.1.2 代码实现(基于numpy)2.1.3 代码实现(基于sklearn)2.2 多元线性回归2.2.1 代码实现(基于numpy)2.2.2 代码实现(基于sklearn) 一、理论基础 回归 通常是指利用某个函数,尽可能把数据样本点“串”在一起,用于描述输入变量和输出变量间的变化关系 线性回归 特点:用来把数据“串”起来的那个函数是线性的 (一元线性回归(一个自变量) &a.

邱邱邱的博客 1068

P1075 质因数分解

P1075 质因数分解 题目描述 已知正整数nn是两个不同的质数的乘积,试求出两者中较大的那个质数。 n≤2×10^9 输入 一个正整数n。 输出 一个正整数p,即较大的那个质数。 样例输入 Copy 21 样例输出 Copy 7 思路 这题要先想唯一分解定理,听过定理可以知道这题跑一个循环就可以得到答案了,i的初值从2开始。 AC代码 #include<bits/stdc+...

weixin_46323249的博客 330

每天一个优秀提示词学习收藏 - 文本创作篇(二)

宝子们,今天不藏私啦!我把这段时间四处搜罗、潜心钻研出来的文本创作 Prompt 提示词大礼包双手奉上,这可都是能让你的 AI 创作水平原地起飞的干货!走过路过不要错过,赶紧码住,开启你的 AI 创作进阶之旅吧!

2401

洛谷P1075python(质因数分解)

3、我这边设置两个循环去判断那两个数(循环是由内到外的,具体可以去找实例,在我这个程序中i循环23次。j从0(因为我j循环的开始是i,而i列表的循环默认从0开始,所以j也默认从0开始,前面说的都是在我的程序中,不代表所有程序)开始循环一直到23,但不包括23),如果两个数相乘能得到n,那么就把i和j放入列表中。今天做的是洛谷的一道题,没有通过,得了60,时间处理太慢了,我从来没去注意过什么时间复杂度,因为最开始学python的时候我更注重编程的过程,一些基础理论没怎么去看(像什么环境之类的)

2301_77817844的博客 385

论文代码复现 | 无人机与卡车联合配送(Python+Gurobi)(The flying sidekick traveling salesman problem)

无人机配送-代码复现The flying sidekick traveling salesman problem-Part 1文献笔记:(无人机配送-代码复现)The flying sidekick traveling salesman problem-Part 1摘要论文主要图标摘录数值实验算例结果参考文献 文献笔记:(无人机配送-代码复现)The flying sidekick traveling salesman problem-Part 1 摘要 Once limited to the milit

HsinglukLiu的博客 3万+

LK启动流程深度解析:从硬件初始化到内核加载的MTK平台实践

本文深度解析了MTK平台上LK(Little Kernel)的完整启动流程。从硬件初始化、内存管理(MMU/Cache)开启,到多线程环境建立,再到内核镜像加载与安全校验,详细阐述了LK如何作为Bootloader核心,完成从芯片上电到成功引导Linux内核的关键任务,是MTK平台开发者必须掌握的核心知识。

weixin_28314575的博客 217

P1075 质因数分解-题解

谨以此文,纪念我的第一篇题解。 题目链接 先输入 nnn,再用上 iii 这个变量。 因为 nnn 仅是两个质数的积,所以 iii 循环到小的质数时(n mod i=0)(n\bmod i=0)(nmodi=0),循环就可以用break跳出了,最后再输出 ni\dfrac{n}{i}in​。 #include <iostream> using namespace std; int ...

fsupervisor的博客 430

类银河恶魔城学习记录1-1 Player状态机的搭建 P28

什么是状态机?一篇文章就够了 - 知乎说实话,目前并不能深入理解状态机的奇妙之处(当然,我觉得状态机作为教程的重要组成部分是不得不理解的,所以以下我会对游戏教程内的状态机做一些我认为的解释,如有错误,请多包涵)

Homura_的博客 2340

PAT 乙级 1075 链表元素分类 python 测试点5运行超时

python 测试点5运行超时

m0_43424109的博客 374

跨厂商网络设备的RADIUS认证:Windows NPS的兼容性与最佳实践

本文详细探讨了Windows NPS在多厂商网络环境中的RADIUS认证实践,特别针对华为、华三、思科等主流设备的兼容性问题提供解决方案。从基础配置到高级优化,涵盖VSA属性映射、认证协议选择及安全加固措施,帮助企业实现统一身份认证并提升网络安全性。

weixin_29213827的博客 421

用 ADBC 把动态查询做得又快又稳:从 CL_SQL_STATEMENT 到安全取数的工程化实践

本文介绍了ABAP中ADBC(ABAP Database Connectivity)技术的核心用法与最佳实践。ADBC作为Open SQL的补充,适用于动态查询、数据库特性调用等场景。文章通过示例代码详细演示了使用ADBC执行查询的完整流程:创建SQL语句、执行查询获取结果集、批量装载数据到内表,以及分包读取处理大数据量。特别强调了动态SQL的安全防护措施,包括输入转义和参数绑定等防注入技术。同时对比了ADBC与Open SQL的适用场景,指出ADBC更适合需要动态访问数据库原生功能的场合。文章还分析了代码

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1772

全部博文链接汇总(不断更新)

用python来解 PAT 1001 害死人不偿命的(3n+1)猜想-15-满分 用python来解 PAT 1002 写出这个数 -20-满分 用python来解PAT乙级1042 字符统计-20-满分 用python来解 PAT乙级 1022D进制的A+B -20-满分 用python来解 PAT 1048数字加密-20-满分无超时 用python来解 PAT 1050螺旋矩阵-25-满分无超时 用python来解 PAT 1060爱丁顿数-25-满分无超时 用python来解 PAT 1061判断题-

pythonuser1的博客 360

智能合约监控告警:提示工程架构师用AI Prompt实现精准预警

当AI大模型(尤其是代码理解模型如CodeLlama、GPT-4 Code)与区块链数据结合,智能合约监控迎来范式革新。AI模型如何精准理解智能合约的业务特殊性?如何避免"AI幻觉"导致的误报?如何让模型学会区分"正常异常"与"攻击前兆"?答案藏在"提示工程"(Prompt Engineering)中。理解特定智能合约的业务逻辑(如DeFi协议的清算机制、NFT的铸造规则)识别复杂的攻击模式(如重入攻击的调用链特征、闪电贷的套利路径)结合链上链下数据进行多维度推理(如关联价格波动与异常交易)

AI架构全栈开发实战笔记 1011

PAT (Basic Level) Practice 1075

1075 链表元素分类(25 分) 给定一个单链表,请编写程序将链表元素进行分类排列,使得所有负值元素都排在非负值元素的前面,而 [0, K] 区间内的元素都排在大于 K 的元素前面。但每一类内部元素的顺序是不能改变的。例如:给定链表为 18→7→-4→0→5→-6→10→11→-2,K 为 10,则输出应该为 -4→-6→-2→7→0→5→10→18→11。 输入格式: 每个输入包含一个测...

g28_gerwulf的博客 273

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

1075 链表元素分类 (25 分) python

最后两个测试点超时,各位老哥看看哪里可以优化~ f_address,N,K = input().split(" ") K = int(K) N = int(N) all_list = [] for i in range(N): ipt_list = input().split(" ") ipt_list[1] = int(ipt_list[1]) all_list.app...

weixin_41775301的博客 834

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

1075 链表元素分类 (25分)

1075 链表元素分类 (25分) 给定一个单链表,请编写程序将链表元素进行分类排列,使得所有负值元素都排在非负值元素的前面,而 [0, K] 区间内的元素都排在大于 K 的元素前面。但每一类内部元素的顺序是不能改变的。例如:给定链表为 18→7→-4→0→5→-6→10→11→-2,K 为 10,则输出应该为 -4→-6→-2→7→0→5→10→18→11。 输入格式: 每个输入包含一个测试用例...

qq_45798109的博客 279

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

【Python】 1085 PAT单位排行 (25 分)

每次 PAT 考试结束后,考试中心都会发布一个考生单位排行榜。本题就请你实现这个功能。 输入格式: 输入第一行给出一个正整数 N(≤100000​​ ),即考生人数。随后 N 行,每行按下列格式给出一个考生的信息: 准考证号 得分 学校 其中准考证号是由 6 个字符组成的字符串,其首字母表示考试的级别:B代表乙级,A代表甲级,T代表顶级;得分是 [0, 100] 区间内的整数;学校是由不超过 6 个英文字母组成的单位码(大小写无关)。注意:题目保证每个考生的准考证号是不同的。 输出格式: 首先在一行中输出单

张某文_Lambda的博客 494

1133 Splitting A Linked List (25 point(s))

#include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;vector&gt; using namespace std; const int MAXN = 1e5; struct node { int data, nex; }t[MAXN]; vector&lt;int&gt; res[3]; int n, k, x, fir...

徐伯莱 284

1075 链表元素分类

输入样例: 00100 9 10 23333 10 27777 00000 0 99999 00100 18 12309 68237 -6 23333 33218 -4 00000 48652 -2 -1 99999 5 68237 27777 11 48652 12309 7 33218 输出样例: 33218 -4 68237 68237 -6 48652 48652 -2 12309 1...

weixin_43490369的博客 239

PAT 1075 链表元素分类 (25 分) AND 1133 Splitting A Linked List (25 分)分类链表的连接

自己想的,链表连接感觉比一开始简化了很多,顺便判断了起点 #include <iostream> #include <vector> using namespace std; int main() { int first,n,next[100000],data[100000],temp,k,cnt=0; vector<int>v[3]; cin>>first>>n>>k; for(int i=0;i&l

m0_48711099的博客 452

PAT (Basic Level) Practice 1075 链表元素分类 (25 分)

给定一个单链表,请编写程序将链表元素进行分类排列,使得所有负值元素都排在非负值元素的前面,而 [0, K] 区间内的元素都排在大于 K 的元素前面。但每一类内部元素的顺序是不能改变的。例如:给定链表为 18→7→-4→0→5→-6→10→11→-2,K 为 10,则输出应该为 -4→-6→-2→7→0→5→10→18→11。 输入格式: 每个输入包含一个测试用例。每个测试用例第 1 行给出:第...

Annfan123的博客 417

pat 乙类 1085 python

将总分由小数转化为整数,需要一个遍历来完成,会导致测试点5超时。如果先将每项分数转化为整数再相加(不符合题意),会导致测试点5出错 字符串方法lower()比遍历转化快 如果使用列表来存储查找修改元素:1、嵌套列表只能使用遍历的方法来查找,很慢。2、使用index()方法来查找元素索引,很慢 字典比列表查找修改更快,同一个key有多个数据需要存储,可以使value用列表或字符串来存储数据,如{key1:[a1,b1],key2:[a2,b2],...} 有时可以通过,有时测试点5会超时(限时800m

qq_20662425的博客 219

1075. 链表元素分类(25)-PAT乙级真题

给定一个单链表,请编写程序将链表元素进行分类排列,使得所有负值元素都排在非负值元素的前面,而[0, K]区间内的元素都排在大于K的元素前面。但每一类内部元素的顺序是不能改变的。例如:给定链表为 18→7→-4→0→5→-6→10→11→-2,K为10,则输出应该为 -4→-6→-2→7→0→5→10→18→11。 输入格式: 每个输入包含1个测试用例。每个测试用例第1行给出:第1个结点的地址;

柳婼 の blog 5053

1075 链表元素分类 (25 分) python

1075 链表元素分类 (25 分) python(最后一个点超时) 题目描述 给定一个单链表,请编写程序将链表元素进行分类排列,使得所有负值元素都排在非负值元素的前面,而 [0, K] 区间内的元素都排在大于 K 的元素前面。但每一类内部元素的顺序是不能改变的。例如:给定链表为 18→7→-4→0→5→-6→10→11→-2,K 为 10,则输出应该为 -4→-6→-2→7→0→5→10→18→11。 输入格式 每个输入包含一个测试用例。每个测试用例第 1 行给出:第 1 个结点的地址;结点总个数,即正整

jinyun15638606903的博客 411

PTA 1075 链表元素分类(Python3)

PAT (Basic Level) Practice (中文)

weixin_55730361的博客 299

Python PAT乙级 1075 链表元素分类 (25分)最后一个测试点超时

给定一个单链表,请编写程序将链表元素进行分类排列,使得所有负值元素都排在非负值元素的前面,而 [0, K] 区间内的元素都排在大于 K 的元素前面。但每一类内部元素的顺序是不能改变的。例如:给定 链表为 18→7→-4→0→5→-6→10→11→-2,K 为 10,则输出应该为 -4→-6→-2→7→0→5→10→18→11。 输入格式: 每个输入包含一个测试用例。每个测试用例第 1 行给出:第 1 个结点的地址;结点总个数,即正整数N (≤10^​5);以及正整数K (≤10^​3)。结点的地址是

qq_42344132的博客 475
上一篇: 用python来解 PAT乙级1089 狼人杀-简单版 -20-满分无超时(带注释)
下一篇: 用python来解PAT乙级1066图像过滤-15-满分无超时
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值