LeetCode14:Longest Common Prefix

Write a function to find the longest common prefix string amongst an array of strings.

要求找出字符串数组中所有字符串的最长公共前缀。

解题思路:两个字符串的最长公共前缀,其长度肯定不会超过最短的字符串的长度,设最短的字符串长度为m,那么只要比较这两个字符串的前m个字符即可。

每次得出两个字符串的最长公共前缀prefix后,再拿prefix作为新的字符串和数组中的下一个字符串比较,直到找出不相等的字符。如果数组中的某个字符串长度为0,或者求得的当前最长公共前缀的长度为0,就直接返回空字串。

#include<iostream>
#include<algorithm>
#include<vector>
#include<string>
using namespace std;

class solution{
public:
	string longestCommonPrefix(vector<string> &strs){
		if (strs.size() == 0)
			return "";
		string prefix = strs[0];
		for (int i = 1; i < strs.size(); ++i){
			if (prefix.length() == 0 || strs[i].length() == 0)
				return "";
			int len = prefix.length() < strs[i].length() ? prefix.length() : strs[i].length();//取最短字符串的长度
			int j;
			for (j = 0; j < len; ++j)
			{
				if (prefix[j] != strs[i][j])//其中strs[i][j]表示字符串数组中第i+1个字符串的第j+1个字符
					break;
			}
			prefix = prefix.substr(0, j);//每次得到两个字符串的最长公共前缀prefix后,再拿prefix作为新的字符串和数组中的下一个字符串比较
		}
		return prefix;
	}
};



内容概要:该论文研究了一种基于粒子群优化(PSO)的STAR-RIS辅助NOMA无线通信网络优化方法。STAR-RIS作为一种新型可重构智能表面,能够同时反射和传输信号,与传统的仅能反射的RIS不同。结合NOMA技术,可以提高覆盖范围、同时服务的用户数量和频谱效率。由于STAR-RIS元素众多,获取完整信道状态信息(CSI)开销大,因此作者提出在不依赖完整CSI的情况下,联合优化功率分配、基站波束成形以及STAR-RIS的传输和反射波束成形向量,以最大化总可实现速率,同时保证每个用户的最低速率要求。仿真结果表明,该方案优于STAR-RIS辅助的OMA系统。论文还提供了详细的Python代码实现,包括系统参数设置、信道模型、速率计算、目标函数、约束函数、主优化函数和结果可视化等内容,完整再现了论文中的关键技术方案。 适合人群:通信工程领域的研究人员、高校教师和研究生,特别是对智能反射面技术、非正交多址接入技术和智能优化算法感兴趣的读者。 使用场景及目标:①研究和开发基于STAR-RIS的无线通信系统;②探索PSO算法在无线通信优化中的应用;③评估STAR-RIS-NOMA系统相对于传统OMA系统的性能优势;④为实际通信系统设计提供理论依据和技术支持。 其他说明:该论文不仅提出了创新的技术方案,还提供了完整的代码实现,便于读者理解和复现实验结果。此外,论文还讨论了与其他优化方法(如DDPG)的对比,并分析了不同工作协议(如模式切换、时间切换和能量分配)的性能差异,进一步丰富了研究内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值