一个简单算法题目,帮我想一个方法实现好吗?

wangsheng1028 2003-10-18 07:46:20
给一个字符串
eg: String abfdab;
返回所有可能搭配的字符串如:ab,ad,aa,afd都是可能的结果
用什么方法比较简单,快捷的实现呢?
...全文
29 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
truezerg 2003-10-18
  • 打赏
  • 举报
回复
to : wangsheng1028(大家都是高手,帮帮我这个菜鸟吧)

如果源字符串为 abcdab 那个可能出现的以a开头的,且长度为二个字符的子串会是

ab
ac
ad
aa
ab

第一个字串和最后一个字串就是重复的了,所以它们属于一个字串,要去掉一个,不对吗?
blacksun8334 2003-10-18
  • 打赏
  • 举报
回复
up


wangsheng1028 2003-10-18
  • 打赏
  • 举报
回复
yangFrame(yangFrame) :
两个循环是不够的
返回12,123,1234,12345,123456
23,134,…………
……
56

怎么得到13呢?:)
wangsheng1028 2003-10-18
  • 打赏
  • 举报
回复
是的,是要判断是否有重复的!
wangsheng1028 2003-10-18
  • 打赏
  • 举报
回复
楼上的
重复没有关系,如果在字符串中出现相同的字符
那一个,两个都是可能的结果
打个比方吧字符串abcdab
那返回的结果中应该有a,b,c,d,ab,ac....,aa,abc...一直到abcdab这个字符串数组!
truezerg 2003-10-18
  • 打赏
  • 举报
回复
另外,像上面的朋友所说的方法都要判断字符重复的情况,不然得到的结果有可能不正确
wangsheng1028 2003-10-18
  • 打赏
  • 举报
回复
这个很简单的,你只要调用函数String.indexOf(String str);
参数是要想搭配的字符串,就是你上面所说的ab,ad,aa,afd什么的,此函数返回一个整数,如果不是-1,表示字符串对象里有包含str,如果是-1则,表示不包含str

这位大哥也许你还没有明白我的意思
我是要返回所有可能结果的一个数组,而不是要验证什么,就如这样
public class Demo {
public static Vector myMethod(String string) {
Vector vector;
//实现方法
return Vector;
}
}
truezerg 2003-10-18
  • 打赏
  • 举报
回复
你这个问题比较复杂,单从数学上来说
如果你的字符串是 abcdef 这样的(不存在重复的字符)的话,首先得到长度 比如是 6
你要的结果的可能组合数就为

P61 + P62 + P63 + P64 + P65 + P66

如果你的字符串中存在重复的字符,则得到的子字符串里就会有一模一样的子串,所以组合数要少一些。我数学不太好,给你个提示吧。不好意思
liuxiaolinlxl 2003-10-18
  • 打赏
  • 举报
回复
这个很简单的,你只要调用函数String.indexOf(String str);
参数是要想搭配的字符串,就是你上面所说的ab,ad,aa,afd什么的,此函数返回一个整数,如果不是-1,表示字符串对象里有包含str,如果是-1则,表示不包含str
yangFrame 2003-10-18
  • 打赏
  • 举报
回复
123456
abfdab

用两个循环
返回12,123,1234,12345,123456
23,134,…………
……
56
嗯,把这些string放在一个数组里返回就行了
wangsheng1028 2003-10-18
  • 打赏
  • 举报
回复
newman0708(nch) :
具体怎么实现呢?
qiyongjun2003(风也悄悄):
没有什么条件呀,就是给你一个String,让你实现下面的功能而已
newman0708 2003-10-18
  • 打赏
  • 举报
回复
递归加循环
qiyongjun2003 2003-10-18
  • 打赏
  • 举报
回复
题意不清,满足什么样的条件?
zhanghuazhanghome 2003-10-18
  • 打赏
  • 举报
回复
这是一大公司的招聘题吧! 谁有代码了贴出来了
ayayanvren 2003-10-18
  • 打赏
  • 举报
回复
用穷举法解决排列的问题。
Obj_CC 2003-10-18
  • 打赏
  • 举报
回复
在"imagex"说的前面加上一个步骤:
1、产生一个字符数组其中为你字符串中所出现字母不重复序列;
2、用数学上计算排列的思想设计算法得到结果。
truezerg 2003-10-18
  • 打赏
  • 举报
回复
你的答案上面我已经说了,但这只是一个给定的字符串中不包含相同字符的情况,如果有相同的字符的话,会比这个结果算出的种数要少
imagex 2003-10-18
  • 打赏
  • 举报
回复
题义不清
最少的
a b d f
共 P(4,1)+P(4,2)+P(4,3)+P(4,4) 种

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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