编程题练习@8-26

题目一:

题目描述
你的团队最近更新了语音识别的算法,瑰需要对更新之后的算法模型进行识别率指标统计。 语音识别率指标通常为WER(Word Error Rate)即计算语音识别文本中出现错误的字总数占标准文本中总字数的比例。为了使识别出来的文本序列和标准的文本序列之间保持一致,需要进行替换,删除,或者插入某些字。 这些插入,替换,删除的字的总个数,除以标准的文本词序列中字的个数的百分比,即为WER。
现需要你根据标准文本对识别结果进行错误统计,计算每句识别结果的总错误数量。

输入描述
第一行输入:标准文本(汉字用空格分隔) 第二行输入:识别文本(汉字用空格分隔)
输出描述
输出:识别文本的总错误数,即插入错误数+删除错误数+替换错误数
备注:可能存在同一个输入,有多组插入错误、删除错误以及替换错误的组合情况,此时输出多组里面的最小之和即可

示例1
输入
‘我不在科大讯飞工作’
‘我在科大讯飞工作’
输出
1

备注
插入错误示例:‘我在科大讯飞工作’->‘我不在科大讯飞工作’(识别文本中第2个’不’字为识别出的多余/插入内容,为1个插入错误);
删除错误示例:‘我在科大讯飞工作’->‘我再科大讯飞工作’(标准文本中的’在’被识别为了’再’,为1个替换错误)。

def minDistance(s1, s2):m, n = len(s1), len(s2)memo = [[-1] * n for _ in range(m)]return dp(s1, m - 1, s2, n - 1, memo)def dp(s1, i, s2, j, memo):if i == -1:return j + 1if j == -1:return i + 1if memo[i][j] != -1:return memo[i][j]if s1[i] == s2[j]:memo[i][j] = dp(s1, i - 1, s2, j - 1, memo)else:memo[i][j] = min(dp(s1, i, s2, j - 1, memo) + 1,  # 插入dp(s1, i - 1, s2, j, memo) + 1,  # 删除dp(s1, i - 1, s2, j - 1, memo) + 1  # 替换)return memo[i][j]if __name__ == "__main__":# s1 = input()# s2 = input()s1 = '我不在科大讯飞工作's2 = '我在在在在在在在在科大讯飞工作' print(minDistance(s1, s2))
7

AC 40%,leetcode AC100%,欢迎交流!

题目二:

题目描述
输入一个2行n列(1≤n≤1e5)的矩阵a(1≤a[i][j]≤1e9)。你需要从矩阵中选择一些数,要求任意两数不能左右相邻,也不能上下相邻。求所选数字之和的最大值。

示例1
输入
[[9,3,5,7,3],[5,8,1,4,5]]
输出
29

示例2
输入
[[1,2,9]],[10,1,1]]
输出
19

示例3
输入
[[7],[4]]
输出
7

def maxSum(nums):n = len(nums[0])dp = [[0] * n for i in range(2)]dp[0][0] = nums[0][0]dp[1][0] = nums[1][0]for i in range(1, n):dp[0][i] = max(dp[0][i-1], dp[1][i-1] + nums[0][i])dp[1][i] = max(dp[1][i-1], dp[0][i-1] + nums[1][i])return max(dp[0][-1], dp[1][-1])if __name__ == '__main__':data = [[[9,3,5,7,3],[5,8,1,4,5]],[[1,2,9], [10,1,1]],[[7],[4]]]for nums in data:print(maxSum(nums))
29
19
7

AC 100%

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

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

相关文章

Kafka为什么这么快?

Kafka 是一个基于发布-订阅模式的消息系统,它可以在多个生产者和消费者之间传递大量的数据。Kafka 的一个显著特点是它的高吞吐率,即每秒可以处理百万级别的消息。那么 Kafka 是如何实现这样高得性能呢?本文将从七个方面来分析 Kafka 的速度优…

科技资讯|荷兰电动自行车丢失将被拒保,苹果Find My可以减少丢失

荷兰最大的自行车协会荷兰皇家旅游俱乐部宣布,将不再为胖胎电动自行车提供保险,因为这种自行车的被盗风险极高。 随着电动自行车的销量飙升,胖胎也变得更受欢迎。但问题是,胖胎电动自行车也成为了自行车盗窃者的首选目标。ANWB …

字节 比特

1 字节 8 比特 //1 字节 8 位 / 比特 1 Byte 1 B 8 bit位 比特 bit 字节 Byte B 1024 1 KB 1024 B 1 MB 1024 KB 1 GB 1024 MB字,由若干个字节组成 32 位计算机:1 字 32 位 4 字节 64 位计算机:1 字 64 位 8 字节

【力扣】203. 移除链表元素 <链表指针>

【力扣】203. 移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 示例 1: 输入:head [1,2,6,3,4,5,6], val 6 输出:[1,2,3,4,5] 示例 …

当 Tubi 遇到 Ruby

有人说 Tubi 作为 RubyConf China 金牌赞助商,明明用极具吸引力的 Elixir 后端工程师岗位和高品质的 Elixir Meetup,“拐走了”一批又一批 Rubyist 投身于 Elixir 开发中,却依然让人想在 Tubi 展台前多停留一会儿。 为什么工程师、校友甚至 …

Android JNI修改Java对象的变量

在JNI中,本地代码(C/C)中修改了Java对象的变量,并且将其传递回Java端,那么Java端会看到变量的修改,尝试以下两种方式进行修改: 添加native方法 data class MyData(var key:Int,var value:String…

GIthub 无法访问使用Watt Toolkit加速

一、使用 Watt Toolkit Watt Toolkit 是一款加速软件,原名是 Steam,后来改名为 Watt Toolkit,其可以让原本无法访问的 Steam 游戏社区、 GitHub 、谷歌验证码等国内难以访问的网页正常访问。 三种下载方式: Watt Toolkit 官网下…

软件设计师学习笔记7-输入输出技术+总线+可靠性+性能指标

目录 1.输入输出技术 1.1数据传输控制方式 1.2中断处理过程 2.总线 3.可靠性 3.1可靠性指标 3.2串联系统与并联系统 3.3混合模型 4.性能指标 1.输入输出技术 即CPU控制主存与外设交互的过程 1.1数据传输控制方式 (1)程序控制(查询)方式&…

VScode使用SSH连接linux

1、官网下载和安装软件 https://code.visualstudio.com/Download 2、安装插件 单击左侧扩展选项,搜索插件安装 总共需要安装的插件如下所示 3、配置连接服务器的账号 安装完后会在左侧生成了远程连接的图标,单击此图标,然后选择设置图标…

JDK介绍

JDK,JRE和JVM之间的关系 JVM是运行环境,JRE是含运行环境和相关的类库,跟node环境是一个意思 JDK目录介绍 目录名称说明bin该路径下存放了JDK的各种工具命令。javac和java就放在这个目录。conf该路径下存放了JDK的相关配置文件include该路径下存放了一些…

裸露土堆识别算法

裸露土堆识别算法首先利用图像处理技术,提取出图像中的土堆区域。裸露土堆识别算法首通过计算土堆中被绿色防尘网覆盖的比例,判断土堆是否裸露。若超过40%的土堆没有被绿色防尘网覆盖,则视为裸露土堆。当我们谈起计算机视觉时,首先…

BUGFix:onnx -> TensorRT转换过程失败

先附上相关的onnx2trt的部分代码&#xff1a; def onnx2trt(onnx_path):logger trt.Logger(trt.Logger.ERROR)builder trt.Builder(logger)network builder.create_network(1 << int(trt.NetworkDefinitionCreationFlag.EXPLICIT_BATCH))parser trt.OnnxParser(netw…

删除ubuntu开始菜单中的图标

背景 本来是很好看干净的界面 更新谷歌浏览器后出现了Gmail&#xff0c;幻灯片&#xff0c;谷歌硬盘等跟谷歌相关的乱七八糟东西搞得界面就很丑 解决问题 删掉那个图标 输入命令 sudo nautilus /usr/share/applicationssudo nautilus ~/.local/share/applications可以…

react18+antd5.x(1):Notification组件的二次封装

antdesign已经给我们提供了很好的组件使用体验,但是我们还需要根据自己的项目业务进行更好的封装,减少我们的代码量,提升开发体验 效果展示 开起来和官网的使用没什么区别,但是我们在使用的时候,进行了二次封装,更利于我们进行开发 MyNotification.jsx,是我们的业务页面…

内存管理框架 --- 基础知识

文章目录 一、内存管理1.1 内存管理的出现1.2 内存管理的用途1.2.1 虚拟内存和物理内存的定义1.2.1.1 什么是虚拟内存&#xff1f; 1.2.2 虚拟内存的划分&#xff1a;用户空间与内核空间 1.3 操作系统和MMU1.3.1 OS和MMU的关系1.3.2 虚拟地址到物理地址的映射流程 1.4 物理内存…

Unity 类Scene窗口相机控制

类Scene窗口相机控制 &#x1f354;效果 &#x1f354;效果 传送门&#x1f448;

【网络基础实战之路】基于三层架构实现一个企业内网搭建的实战详解

系列文章传送门&#xff1a; 【网络基础实战之路】设计网络划分的实战详解 【网络基础实战之路】一文弄懂TCP的三次握手与四次断开 【网络基础实战之路】基于MGRE多点协议的实战详解 【网络基础实战之路】基于OSPF协议建立两个MGRE网络的实验详解 【网络基础实战之路】基于…

oracle 12c怎样修改varchar2允许的最大长度

12C单实例测试&#xff0c;varchar2在早期版本中最大长度限制为4000&#xff0c;当字段长度指定的比较长的时候会报错&#xff1a;ORA-00910: specified length too long for its datatype。 早期版本中虽然SQL数据类型限制为4000&#xff08;如表中的列的varchar2类型&#x…

spring cloud gateway中出现503

spring cloud gateway中出现503 当搭建网关模块的时候出现503的错误的最大的可能就是没有设置负载均衡的依赖包 原先搭建的时候采用的是下面的方式进行设置的 gateway:discovery:locator:enabled: true #可以从nacos进行服务的发现 上面的这种方式可以直接进行注册和发现&…

机器学习实战14-在日本福岛核电站排放污水的背景下,核电站对人口影响的分析实践

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下机器学习实战14-在日本福岛核电站排放污水的背景下,核电站对人口影响的分析实践。 近日&#xff0c;日本政府举行内阁成员会议&#xff0c;决定于2023年8月24日启动福岛核污染水排海。当地时间2023年8月24日13时&am…