【算法】算法题-20231206

在这里插入图片描述

这里写目录标题

  • 一、非自身以外数字的乘积
  • 二、最大数
  • 三、奇数排序

一、非自身以外数字的乘积

给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。
题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。
请不要使用除法,且在 O(n) 时间复杂度内完成此题。

示例 1:
输入: nums = [1,2,3,4]
输出: [24,12,8,6]

示例 2:
输入: nums = [-1,1,0,-3,3]
输出: [0,0,9,0,0]

def test2(nums):
    n = len(nums)
    res = [0] * n
    k = 1
    for i in range(n):
        res[i] = k
        k = k * nums[i]

    k = 1
    for i in range(n - 1, -1, -1):
        res[i] = k * res[i]
        k = k * nums[i]
    return res


nums = [1, 2, 3, 4]
res = test2(nums)
print(res)

二、最大数

给定一个list 由一些非负整数组成 ,重新排列他们的顺序把他们组成一个最大的整数。
例子:
输入:
[30,1]
返回值:
“301”

import itertools

nums = [1, 201, 20, 9, 8]
s = list(map(str, nums))
print(s)
ordered = sorted(s, key=lambda x: x, reverse=True)
print(ordered)


def fn(nums):
    s = list(map(str, nums))  # [30,1] ——》 ['30', '1']
    ordered = sorted(s, key=lambda x: x, reverse=True)  # 根据首位排序

    # 首位相同的,进行二次排序
    for i in range(len(ordered) - 1):
        if ordered[i][0] == ordered[i + 1][0]:
            if int(ordered[i][-1]) < int(ordered[i + 1][-1]):
                ordered[i], ordered[i + 1] = ordered[i + 1], ordered[i]

    return int(''.join(ordered))


nums = [301, 302, 34]
print(fn(nums))

三、奇数排序

哈利波特获得了一个数字列表,他的任务是必须将奇数按升序排序,同时将偶数保留在原来的位置。魔法师们,快来帮帮他吧~

nums = [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]


def test(nums):
    res1 = sorted([i for i in nums if i % 2 == 1])

    for index in range(len(nums)):
        if nums[index] % 2 != 0:
            nums[index] = res1[0]
            res1.pop(0)
    return nums


r = test(nums)
print(r)

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ELK(二)—Elasticsearch安装部署

一、环境准备 1.1java环境准备&#xff08;不用安装也可以&#xff0c;Elasticsearch自带了0.0,可以直接从二看了&#xff09; Elasticsearch是用Java编写的分布式搜索引擎&#xff0c;因此在安装和运行Elasticsearch时需要Java运行时环境&#xff08;Java Runtime Environmen…

[BPE]论文实现:Neural Machine Translation of Rare Words with Subword Units

文章目录 一、完整代码二、论文解读2.1 模型架构2.2 BPE 三、过程实现四、整体总结 论文&#xff1a;Neural Machine Translation of Rare Words with Subword Units 作者&#xff1a;Rico Sennrich, Barry Haddow, Alexandra Birch 时间&#xff1a;2016 一、完整代码 这里我…

[头歌系统数据库实验] 实验3 MySQL的DDL语言

目录 第1关&#xff1a;将P表中的所有红色零件的重量增加6 第2关&#xff1a;把P表中全部红色零件的颜色改成蓝色 第3关&#xff1a;将SPJ表中由S5供给J4的零件P6改为由S3供应 第4关&#xff1a;将SPJ表中所有天津供应商的QTY属性值减少11&#xff08;用子查询方式&#x…

Linux 调试器 --- g d b 使用

目录 一&#xff1a;gdb简介 二&#xff1a;示例代码 三&#xff1a;使用 1.启动gdb 2.各种指令 <1>: 查看源代码 <2>:设置断点 <3>:查看断点信息 <4>:删除断点 <5>: run <6>:逐过程调试 <7>:逐语句调试 <8>:查…

渗透测试学习day7

文章目录 靶机&#xff1a;VaccineTask1Task2Task3Task4Task5Task6 7-9解题过程Task7Submit user flagSubmit root flag 靶机&#xff1a;Vaccine Task1 问题&#xff1a;除了SSH和HTTP&#xff0c;这个盒子上还托管了什么服务&#xff1f; ftpnmap扫一下 Task2 问题&…

typescript中的策略模式

typescript中的策略模式 当我们需要以整洁、易于维护和易于调试的方式构建应用程序时&#xff0c;使用设计模式是一种非常好的方式。 在本文中&#xff0c;我们的目标是阐明如何将策略模式无缝地集成到我们的应用程序中。如果我们熟悉依赖性注入&#xff0c;可能会发现策略模…

高防IP是什么? 防护CC 对抗DDOS

什么是DDoS高防IP&#xff1f; DDoS&#xff08;分布式拒绝服务&#xff09;攻击是指攻击者通过利用大量恶意流量向目标服务器发送请求&#xff0c;导致目标服务器无法正常处理合法用户的请求。DDoS高防IP是一种通过技术手段来应对DDoS攻击的解决方案。它能够过滤掉恶意流量&a…

DHCP Host Name

文章目录 前言DHCP OptionOption (12) Host Namednsmasq 前言 打开路由器页面&#xff0c;看到下面连接的设备&#xff0c;有的显示设备名称 Tmall-Genie、ESP-C37CE8&#xff0c;而有的直接显示 MAC 地址 D2:B0:XX:XX:XX:XX。 这个名称是哪里来的呢&#xff1f; 这就是我们今…

MySQL 8.x 自签证书通过keytool和openssl转成JKS文件

一、写在前面 数据库MySQL 8.0 通过自签命令在datadir下生成了所有的证书文件。由于Java的JDK不支持直接加载PEM格式的证书&#xff0c;所以需要将PEM格式证书转换成Java能够直接加载的JKS格式证书。我们需要将根证书ca.pem转换成JKS格式的根证书truststore.jks&#xff0c;将…

快速认识,后端王者语言:Java

Java作为最热门的开发语言之一&#xff0c;长居各类排行榜的前三。所以&#xff0c;就算你目前不是用Java开发&#xff0c;你应该了解Java语言的特点&#xff0c;能用来做什么&#xff0c;以备不时之需。 Java 是一种高级、多范式编程语言&#xff0c;以其编译为独立于平台的字…

华为鸿蒙开发——Stage/FA模型在ArkTs语言、JS语言 实现页面互转

文章目录 一、ArkTs(Stage模型)二、ArkTs(FA模型)三、JS&#xff08;FA模型&#xff09; 一、ArkTs(Stage模型) 目的&#xff1a;实现两个页面的跳转功能 步骤&#xff1a; 1、打开entry > src > main > ets > pages 2、在默认页面基础上&#xff0c;我们添加一个…

前端vue导出PPT幻灯片,使用pptxgen.js,超详细(赋原数据)

即上一篇文章最终代码 前端vue导出PPT&#xff0c;使用pptxgen.js 前端vue导出PPT&#xff0c;使用pptxgen.js 一个平台下有10个国家&#xff0c;这个是后端返回数据固定的&#xff0c;每一个国家下面有10个物流方式&#xff0c;这10个物流方式是这10个国家都有的&#xff0c;…

【从零开始学习JVM | 第三篇】类的生命周期(高频面试)

前言&#xff1a; 在Java编程中&#xff0c;类的生命周期是指类从被加载到内存中开始&#xff0c;到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。 在本文中&#xff0c;我们将深入探讨类的生命周期&#xff0c;从类加载到…

smartkit巡检E9000设备

https://support.huawei.com/enterprise/zh/doc/EDOC1100325140/f6eeacd6 打开链接&#xff0c;里面的内容很详细。

海外服务器和国内服务器有什么样的区别呢

海外服务器和国内服务器有什么样的区别呢&#xff0c;其实呢在外形方面是大同小异&#xff0c;除了外形还有一些其他方面还存在这一些差异。 一&#xff0c;地理位置的差异。 海外服务器——有可能在中国数据中心之外的任何国家地区&#xff0c;例如美国服务器&#xff0c;韩…

2.环境变量及接口关联

一、环境变量以及全局变量 操作流程 1.点击environment 2.点击environment右侧号&#xff0c;新增环境变量 3.在变量中输入变量名以及变量值 4.回到collection页面&#xff0c;修改变量环境 5.在collection中通过{{变量名}}调用变量 变量定义 环境变量&#xff1a;环境变量…

k8s部署单机模式的minio和minio-client

k8s部署单机模式的minio和minio-client 一、k8s部署minio1.1说明1.2 yaml内容1.3 步骤1.3.1 创建资源1.3.2 查看启动日志1.3.3 查看svc并访问控制台 二、docker部署minio-client2.1 查找镜像2.2 运行镜像2.3 绑定minio server 一、k8s部署minio 1.1说明 项目使用minio&#x…

用python测试网络上可达的网络设备

用python测试网络上可达的网络设备 之前使用的os在python中执行ping测试网络中可达的目标&#xff0c;但是他在执行ping命令时脚本会将系统执行ping时的回显内容显示出来&#xff0c;有时这些回显并不是必要的。如果用脚本一次性ping成百上千台网络设备或者URL时会影响美观和阅…

12、组合模式(Composite Pattern,不常用)

组合模式&#xff08;Composite Pattern&#xff09;&#xff0c;有时又叫作部分-整体模式&#xff0c;它是一种将对象组合成树状的层次结构的模式&#xff0c;用来表示“部分-整体”的关系&#xff0c;使用户对单个对象和组合对象具有一致的访问性。 它在我们树型结构的问题中…

5+铜死亡+预后模型+分型生信思路,热点搭配免疫相关思路

今天给同学们分享一篇生信文章“The pathogenesis of DLD-mediated cuproptosis induced spinal cord injury and its regulation on immune microenvironment”&#xff0c;这篇文章发表在Front Cell Neurosci期刊上&#xff0c;影响因子为5.3。 结果解读&#xff1a; 基因芯…