如何判断一个字符串数组中是否存在两个字符串序列相等?

永乐大帝1403 2014-09-25 08:00:24
如何判断一个字符串数组中是否存在两个字符串序列相等?不要用时间复杂度为O(n2)的算法,请问具体要怎么做?
...全文
398 3 打赏 收藏 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
aaron_gzt 2014-09-26
  • 打赏
  • 举报
回复
引用 2 楼 whos2002110 的回复:
[quote=引用 1 楼 aaron_gzt 的回复:]
public boolean compareEqual(String[] strs){
		boolean flag = false;	//字符串数组中是否有两个字符串相等
		String temp = "";
		for (int i = 0; i < strs.length; i++) {
			if (temp.contains(strs[i])) {
				flag = true;
				break;	//若果有重复就直接跳出循环
			}
			temp += strs[i];	//将已经比较过的拼接成字符串
		}
		return flag;
	}
楼主看这样子复合你要求不,设一字符串temp用来存放字符串数组中已经比较了的字符串,遍历取出字符串数据中的元素来和temp字符串做比较看是否该元素是否已经被temp字符串包含
想法蛮好的, 不过不符合要求吧 比如 {"a", "b", "ab"}; 这个按你的算法就相等了[/quote]你说的也对,的确考虑漏了。如果数组中的元素不包含符号的话,可以试一下这样来做的:
	public boolean compareEqual(String[] strs){
		boolean flag = false;	//字符串数组中是否有两个字符串相等
		String temp = "";
		for (int i = 0; i < strs.length; i++) {
			if (temp.contains(strs[i]+",")) {
				flag = true;
				break;	//若果有重复就直接跳出循环
			}
			temp += strs[i] + ",";	//将已经比较过的拼接成字符串
		}
		return flag;
	}
不过如果数组中的元素包含符号的话就需要自己设计一个特别的分隔符才行了
whos2002110 2014-09-26
  • 打赏
  • 举报
回复
引用 1 楼 aaron_gzt 的回复:
public boolean compareEqual(String[] strs){
		boolean flag = false;	//字符串数组中是否有两个字符串相等
		String temp = "";
		for (int i = 0; i < strs.length; i++) {
			if (temp.contains(strs[i])) {
				flag = true;
				break;	//若果有重复就直接跳出循环
			}
			temp += strs[i];	//将已经比较过的拼接成字符串
		}
		return flag;
	}
楼主看这样子复合你要求不,设一字符串temp用来存放字符串数组中已经比较了的字符串,遍历取出字符串数据中的元素来和temp字符串做比较看是否该元素是否已经被temp字符串包含
想法蛮好的, 不过不符合要求吧 比如 {"a", "b", "ab"}; 这个按你的算法就相等了
aaron_gzt 2014-09-26
  • 打赏
  • 举报
回复
public boolean compareEqual(String[] strs){
		boolean flag = false;	//字符串数组中是否有两个字符串相等
		String temp = "";
		for (int i = 0; i < strs.length; i++) {
			if (temp.contains(strs[i])) {
				flag = true;
				break;	//若果有重复就直接跳出循环
			}
			temp += strs[i];	//将已经比较过的拼接成字符串
		}
		return flag;
	}
楼主看这样子复合你要求不,设一字符串temp用来存放字符串数组中已经比较了的字符串,遍历取出字符串数据中的元素来和temp字符串做比较看是否该元素是否已经被temp字符串包含

51,407

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧