请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

392题和贪心算法的关系

看到这个题我首先想到的方法就是遍历s中的字符,去t中寻找是否存在。
这个方法和贪心算法的关系是什么,请您解惑。

public boolean isSubsequence(String s, String t) {
		
		boolean res = true;
		int curIndex = 0;
		char[] tArr = t.toCharArray();
		for(char cs:s.toCharArray()) {
			boolean finded = false;
			for(int i=curIndex;i<tArr.length;i++) {
				if(tArr[i]==cs) {
					finded = true;
					curIndex = i + 1;
					break;
				}
			}
			if(!finded) {
				res = false;
				break;
			}
		}
		return res;
    }

正在回答

1回答

比如在 s = aaaaaaaaaab 中寻找 t = ab。只要看到 s 的第一个字符是 a,和 t 的第一个字符 a 匹配上了,我们就可以放心地在 s 的后续中直接寻找 t 的后续了。


在 s 中看到的第一个和当前要匹配的字符一致,我们就可以“贪心地”直接匹配,而不用考虑后续的字符,所以这个问题可以叫贪心。


但其实,这种定义并不重要,在面试的时候,其实不会有人问你,这个问题对应的算法思想是什么。只要能解决问题就好:)


继续加油!:)

0 回复 有任何疑惑可以回复我~
  • 提问者 zjg23 #1
    谢谢回答
    回复 有任何疑惑可以回复我~ 2020-03-31 07:28:23
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号