(15)DeleteColumnsMakeSortedIII

本文介绍了一种算法,用于解决给定字符串数组通过最小数量的删除操作使其字典型有序的问题。通过动态规划方法,计算每个子串变为有序所需的最少删除次数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、问题描述

给定一个字符串形的数组,求最小的删除数目,使得删除后的字符串是字典型有序的。

 

二、思路Code

 1 package algorithm;
 2 
 3 /**
 4  * Created by adrian.wu on 2019/2/27.
 5  */
 6 public class DeleteColumnsMakeSortedIII {
 7     /*
 8         j   i
 9     b a b c a c
10     b b a z b z
11 
12     1、i 从前向后遍历
13     2、j 从i-1向前遍历
14     3、先求A[i]为止,如果使得字符串是sorted的,最少的deletion是多少?最大我们知道是i,即把前面的元素都删了
15     4、假如A[j]已经算好,则minDeletion = Math.min(dp[i], dp[j] + i - j - 1),把i和j之间的元素都抠出
16     5、如果i和j之间的元素有不抠出的情况怎么办?假定这个位置为k,那么用4的公式 minDeletion = Math.min(dp[i], dp[k] + k - j - 1)
17     6、因此重点是当 j < i时,dp[j]要算好。
18      */
19     public int minSizeDeletion(String[] A) {
20         int n = A.length, res = n;
21         int[] dp = new int[n];
22         for (int i = 0; i < n; i++) {
23             dp[i] = i;
24             for (int j = i - 1; j >= 0; j--) {
25                 if (legal(A, j, i)) {
26                     dp[i] = Math.min(dp[i], dp[j] + i - j - 1);
27                 }
28             }
29             res = Math.min(res, dp[i]);
30         }
31         return res;
32     }
33 
34     public boolean legal(String[] A, int s, int e) {
35         for (String a : A)
36             if (a.charAt(s) > a.charAt(e)) return false;
37         return true;
38     }
39 }

 

转载于:https://www.cnblogs.com/ylxn/p/10442597.html

内容概要:该论文提出了一种基于多输入学习(MIL)神经网络模型的超宽带(UWB)定位系统中非视距(NLOS)识别方案。该方案结合信道脉冲响应(CIR)及其时频图(TFDOCIR)作为输入特征,能够有效识别由木门、混凝土墙、金属板、人体和玻璃窗等障碍物引起的NLOS传播情况,整体识别准确率达到91.74%。论文还介绍了详细的代码实现,包括数据预处理、并行深度学习模型构建、训练与评估、以及定位误差修正(加权最小二乘法)。此外,论文深入探讨了UWB信号模型与NLOS识别方法,分析了不同障碍物下的信号特性,并提出了多种优化和改进措施,如增强的并行深度学习模型、自适应特征融合策略、实时处理优化等。 适合人群:具备一定编程基础,对无线通信、深度学习和定位系统感兴趣的科研人员及工程师。 使用场景及目标:①研究UWB定位系统的NLOS识别问题;②探索深度学习在无线通信领域的应用;③开发高性能、低延迟的UWB定位系统;④提高复杂环境下定位精度。 其他说明:此资源不仅提供了理论分析,还包含了完整的代码实现,有助于读者理解从数据处理到模型训练的全过程。建议读者在学习过程中结合实际数据进行实践,以便更好地掌握相关技术和方法。同时,对于希望进一步优化模型或应用于特定场景的读者,文中提供的多种改进思路和技术实现具有很高的参考价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值