python-矩阵转置/将列表分割成块/和超过N的最短子数组

news2024/11/28 7:49:21

一:矩阵转置
题目描述

输入一个 n 行 m 列的矩阵 A,输出它的转置 AT。
输入
第一行包含两个整数 n 和 m,表示矩阵 A 的行数和列数。1≤n≤100,1≤m≤100。接下来 n 行,每行 m 个整数,表示矩阵 A 的元素。相邻两个整数之间用单个空格隔开,每个元素均在 1∼1000 之间。
输出
m 行,每行 n 个整数,为矩阵 A 的转置。相邻两个整数之间用单个空格隔开。
样例输入1
3 3
1 2 3
4 5 6
7 8 9

样例输出1
1 4 7
2 5 8
3 6 9

来源/分类(难度系数:三星)
每日一题 数组


完整代码展示:
# coding=utf-8
a,b=map(int,input().split())
c=[]
for i in range(a):
      d=list(map(int,input().split()))
      c.append(d)
e=0
while e<b:
       sum=''
       for j in range(0,a):
             sum+="{} ".format(c[j][e])
       print(sum)
       e+=1

# coding=utf-8
a,b=map(int,input().split())
c=[]
for i in range(a):
    d=list(map(int,input().split()))
    c.append(d)
e=0
while e<b:
    sum=''
    for j in range(0,a):
        sum+="{} ".format(c[j][e])
    print(sum)
    e+=1


代码解释:
“a,b=map(int,input().split()) ”,导入用户输入的矩阵行数a和列数b。
“c=[]
 for i in range(a):
       d=list(map(int,input().split()))
       c.append(d)                             ”,建立一个空列表c,接着循环a次:让用户输入矩阵一行的元素并将其储存在列表d中,再将d添加进c中。
“e=0
 while e<b:
        sum=''
        for j in range(0,a):
              sum+="{} ".format(c[j][e])
        print(sum)
        e+=1                                        ”,令e为循环密码子,初始值为0,当e<b时:建立一个空字符串sum,接着依次遍历0~a-1的数字,sum连接元素c[j][e],每两个元素之间插入一个空格。最后打印sum的值。每循环一次,e+1,直至e==b,跳出整个while循环。


运行效果展示:

3301cbb5a03649a6b71458fba4adf28b.jpg

aff6e2baf6684d8b8be2418b62bc6f97.jpg 

 

 

 

 

二:将列表分割成块
题目描述

编写一个程序,将一个数字列表按照指定大小分割成特定大小的块。
定义函数list_into_chunks()的函数,有两个参数num_list和chunk_size。
在函数内,将num_list分割成大小为chunk_size的子列表。
将这些子列表作为列表返回。
示例输入
1 2 3 4 5 2
示例输出
[[1, 2], [3, 4], [5]]
解释: 由于测试输入具有奇数个元素,而我们需要创建一个2(偶数)的块大小,剩余的元素将创建一个单元素子列表,即[5]。
输入会包含两行,第一行包含数字并已转为列表,第二行包含块大小。
考虑块大小chunk_size为偶数或奇数的情况。
来源/分类(难度系数:二星)
矩阵 数组


完整代码展示:
a=list(map(int,input().split()))
b=int(input())
c=[]
d=len(a)//b
e=0
for i in range(d):
      c.append(a[e:e+b])
      e+=b
c.append(a[e::])
f=[]
for i in range(0,len(c)):
      if len(c[i])!=0:
          f.append(c[i])
print(f)

a=list(map(int,input().split()))
b=int(input())
c=[]
d=len(a)//b
e=0
for i in range(d):
    c.append(a[e:e+b])
    e+=b
c.append(a[e::])
f=[]
for i in range(0,len(c)):
    if len(c[i])!=0:
        f.append(c[i])
print(f)


代码解释:
“a=list(map(int,input().split())) ”,导入用户输入的待处理数字并将其储存在列表a中。
“b=int(input()) ”,导入用户输入的数字列表需分割成的长度b。
“d=len(a)//b
 e=0
 for i in range(d):
       c.append(a[e:e+b])
       e+=b                       ”,令d等于列表a的长度除以b并保留整数部分。令e为循环密码子,依次遍历0~d-1的数字,将a中a[e:e+b]的部分添加进c中。每循环一次,e+b。
“c.append(a[e::])
 f=[]
 for i in range(0,len(c)):
       if len(c[i])!=0:
           f.append(c[i])    ”,将a中的余下部分添加进c中。建立一个空列表f,接着遍历c中元素,判断该元素是否为空:如果不为空,则将该元素添加进f中。
“print(f) ”,打印f的最终结果。


运行效果展示:

51afd215897c4463bf99fff5b2bef3ac.jpg

058117084ca64aa48354372811063d5f.jpg 

 

 

 

 

三:和超过N的最短子数组
题目描述

编写一个程序,找出所有元素之和严格超过给定值的最短连续子列表的长度。
定义函数shortest_sublist_exceeds_n(),它接受两个参数 - 一个整数列表lst和一个整数n。
该函数应返和严格大于n的最短子列表的长度。
如果不存在这样的子列表,函数应返回 -1。
示例输入
-1 2 3 4 7 1122
示例输出
4
解释: [-1, 2, 3, 4, 7, 11]的和超过22的最短子列表是[3, 4, 7, 11],所以输出4
两个for循环计算所有子列表的和,然后找到和大于n的最短子列表。
此处子列表是连续的,因此可以使用滑动窗口技术。
来源/分类(难度系数:一星)
数组 循环结构


完整代码展示:
a=list(map(int,input().split()))
b=int(input())
c=[]
for i in range(0,len(a)):
      if a[i]>=0:
           c.append(a[i])
c.sort(reverse=True)
if sum(c)<b:
     print(-1)
else:
       d=0
       sum=0
       while sum<=b:
              sum+=c[d]
              d+=1
       print(d)

a=list(map(int,input().split()))
b=int(input())
c=[]
for i in range(0,len(a)):
    if a[i]>=0:
        c.append(a[i])
c.sort(reverse=True)
if sum(c)<b:
    print(-1)
else:
    d=0
    sum=0
    while sum<=b:
        sum+=c[d]
        d+=1
    print(d)


代码解释:
“a=list(map(int,input().split())) ”,导入用户输入的数组元素并将其储存在列表a中。
“b=int(input()) ”,导入用户输入的定值b。
“c=[]
 for i in range(0,len(a)):
       if a[i]>=0:
            c.append(a[i])
 c.sort(reverse=True)  ”,建立一个空列表c,接着依次遍历a中元素,判断a[i]是否大于等于0:如果是,则将a[i]添加进c中。最后对c中元素进行升序排序。
“if sum(c)<b:
       print(-1)
 else:
        d=0
        sum=0
        while sum<=b:
               sum+=c[d]
               d+=1
        print(d)           ”,判断c中元素之和是否小于b:如果是,则打印-1,否则令d为循环密码子,sum为元素和,当sum<=b时:sum+c[d]。每循环一次,d+1,直至sum>b,跳出整个while循环。


运行效果展示:

4b46b787be8f4e2398525f657274c3ae.jpg

 a82136d9a1694d68bb12fefc0dd9ffcd.jpg

              (声明:以上内容均为原创)

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2186814.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

别再为开题报告发愁了,ChatGPT可以助力你高效完成!

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 面对开题报告时&#xff0c;我们常常感到迷茫和压力。如何清晰地表达研究目的、梳理文献综述、明确研究问题与假设&#xff0c;以及构建合理的研究方法&#xff0c;这些环节都对开题报告…

OpenCV-图像拼接

文章目录 一、基本原理二、步骤三、代码实现1.定义函数2.读取图像3.图像配准&#xff08;1&#xff09;.特征点检测&#xff08;2&#xff09;.特征匹配 4.透视变换5.图像拼接 四、图像拼接的注意事项 图像拼接是一种将多张有重叠部分的图像合并成一张无缝的全景图或高分辨率图…

蓝桥杯【物联网】零基础到国奖之路:十七. 扩展模块之单路ADC和NE555

蓝桥杯【物联网】零基础到国奖之路:十七. 扩展模块之单路ADC和NE555 第一节 硬件解读第二节 CubeMx配置第三节 代码1&#xff0c;脉冲部分代码2&#xff0c;ADC部分代码![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/57531a4ee76d46daa227ae0a52993191.png) 第一节 …

基于工业物联网的能源监控系统:边缘数据处理的应用

论文标题&#xff1a;《Industrial IoT-Based Energy Monitoring System: Using Data Processing at Edge》 作者信息&#xff1a; Akseer Ali MiraniAnshul AwasthiNiall O’MahonyJoseph Walsh 他们均来自爱尔兰的芒斯特技术大学IMaR研究中心&#xff0c;以及位于利默里克的…

秋招校招北森笔试测评北森笔测评常见图推题目解答

北森笔试测评常见题目解析第二弹&#xff1a; P1&#xff1a;每一行均出现圆&#xff0c;米&#xff0c;口加上内部的菱形和小圆形&#xff0c;行测上称之为遍历。 P2&#xff1a;题干也给提示了&#xff0c;肯定不选9&#xff0c;考虑封闭部分&#xff0c;选11. P3&#xf…

面试速通宝典——7

150. 数据库连接池的作用 数据库连接池的作用包括以下几个方面&#xff1a; 资源重用&#xff1a;连接池允许多个客户端共享有限的数据库连接&#xff0c;减少频繁创建和销毁连接的开销&#xff0c;从而提高资源的利用率。 统一的连接管理&#xff1a;连接池集中管理数据库连…

访问webapps下边的内容不能访问解决办法

1、看是否是带有中文路径&#xff0c;中文路径访问不了 2、是否在访问的时候没有带8080端口 如图&#xff0c;带有8080就可以访问了 原因&#xff1a; 当你尝试通过 http://localhost:8080/hello/hello.html 访问网页时&#xff0c;端口号 “8080” 指定了该请求将发送到本地主…

STM32-MPU6050+DAM库源码(江协笔记)

目录 1、MPU6050简介 2、MPU6050参数 3、MPU6050硬件电路 4、MPU6050结构 5、MPU6000和MPU6050的区别 6、MPU6050应用场景 7、MPU6050电气参数 8、MPU6050时钟源选择 9、MPU6050中断源 10、MPU6050的I2C读写操作 11、DMP库移植 1、MPU6050简介 10轴传感器&#xff1…

使用CSS实现酷炫加载

使用CSS实现酷炫加载 效果展示 整体页面布局 <div class"container"></div>使用JavaScript添加loading加载动画的元素 document.addEventListener("DOMContentLoaded", () > {let container document.querySelector(".container&q…

Unity初识+面板介绍

Unity版本使用 小版本号高&#xff0c;出现bug可能性更小&#xff1b;一台电脑可以安装多个版本的Unity&#xff0c;但是需要安装在不同路径&#xff1b;安装Unity时不能有中文路径&#xff1b;Unity项目路径也不要有中文。 Scene面板 相当于拍电影的片场&#xff0c;Unity程…

前缀和+思维,CF 1984C2 - Magnitude (Hard Version)

目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1984C2 - Magnitude (Hard Version) 二、解题报告 1、思路分析 C1 是只要…

Docker巩固十七问

转载说明&#xff1a;如果您喜欢这篇文章并打算转载它&#xff0c;请私信作者取得授权。感谢您喜爱本文&#xff0c;请文明转载&#xff0c;谢谢。 1. 如何批量清理临时镜像文件&#xff1f; 所谓的“临时镜像”或“虚悬镜像”&#xff08;dangling images&#xff09;是指那些…

动态规划算法专题(二):路径问题

1. 不同路径 . - 力扣&#xff08;LeetCode&#xff09; 1.1 算法原理 状态表示dp[i][j]&#xff1a;走到(i,j)位置&#xff0c;一共有多少种方法&#xff08;以(i,j)位置为结尾&#xff09;状态转移方程&#xff1a;dp[i][j]dp[i-1][j]dp[i][j-1];初始化&#xff1a;dp[0][1…

SSM超市进销存管理系统源码

主要功能说明&#xff1a; 管理员角色包含以下功能&#xff1a;管理员登录、进货管理、商品信息、类别管理、库存管理、销售管理、 客户信息管理、供应商管理、员工管理、修改管理员个人信息等功能。 员工角色包含以下功能&#xff1a;员工登录、进货信息查看、退货信息管理…

大华智慧园区综合管理平台系统存在多处漏洞

漏洞描述 大华智慧园区综合管理平台是一个集智能化、信息化、网络化、安全化为一体的智慧园区管理平台&#xff0c;旨在为园区提供一站式解决方案&#xff0c;包括安防、能源管理、环境监测、人员管理、停车管理等多个方面。 FOFA app"dahua-智慧园区综合管理平台"…

【Linux庖丁解牛】—Linux基本指令(中)!

&#x1f308;个人主页&#xff1a;秋风起&#xff0c;再归来~&#x1f525;系列专栏&#xff1a; Linux庖丁解牛 &#x1f516;克心守己&#xff0c;律己则安 目录 1、rmdir与rm指令 2、man指令 3、cp指令 4、mv指令 5、cat与tac指令 6、重定向 7、more指令 8、…

【AIGC】ChatGPT账号的常见封号原因与解封方法

博客主页&#xff1a; [小ᶻZ࿆] 本文专栏: AIGC | ChatGPT 文章目录 &#x1f4af;前言&#x1f4af;ChatGPT封号背景与常见原因ChatGPT封号行动背景ChatGPT常见的封号原因 &#x1f4af;OpenAl封号规则总结&#x1f4af;使用ChatGPT时防止封禁需要特别注意的细节和建议&a…

2025年数字人直播还能做吗?数字人直播的套路骗局须知网

2025年数字人直播还能做吗&#xff1f;数字人直播的套路骗局须知网 数字人直播是利用先进的数字技术和算法&#xff0c;创建出了一个具有人类形象的虚拟数字人&#xff0c;那通过模仿人类的行为、语言和情感进行事实的互动和内容的展示。 这种直播方式突破了传统的限制&#…

性能测试笔记1

为什么要进行性能测试&#xff1f;&#xff08;在真实项目商用时&#xff0c;需要大量的用户进行使用&#xff0c;因此需要模拟大量用户的使用场景 &#xff09; 1、业务需求 电商双 11 活动 / 微信春晚抢红包 /12306 春运订票 当前服务器配置是否支持 20000 人同时使用 技术…

深度学习中的结构化概率模型 - 使用图来描述模型结构篇

序言 在深度学习的探索之路上&#xff0c;结构化概率模型以其独特的视角和强大的表达能力&#xff0c;成为了研究复杂数据关系的重要工具。这一模型的核心在于其巧妙地利用图来描述模型结构&#xff0c;将随机变量间的复杂交互关系可视化、结构化。图的引入&#xff0c;不仅为…