问题:
字符串s1=”abstrsdjieadsdffjdf………”,
s2=”rxtae”;
请在最短的时间里判断出s1是否含有s2,说明方法。
当我们看到这个问题后,我们的第一想法就是利用数据结构的知识点,对其进行遍历查询,这种方法确实可以,但是它耗费的时间,空间都很大,不利于计算机的计算时间。
现在,我来讲述一种简单的方法,时间复杂度是1。
方法就是:
对其是s1中的26个字母a至z分别赋质数,并且一次求其总的乘积account,同时将s2中相应的字符赋质数,求其积sum。
if(account%sum==0) printf("含有\n");
这种方法简单而且快捷,更容易懂。所以我觉得在以后的审题中,应该转变我们已有的思维模式,应该朝着简单的方向去思考。