java字符串练习题3、字符串中字符是否相同判断
java字符串练习题3、字符串中字符是否相同判断
目录
这个题目也是没什么难度,需要使用的函数也就是charAt函数,根据对应下标来判断是否有重复的值内容,如果出现不是重复的我们就直接break返回结果即可,效率不会很低。
判断字符串中的字符都不相同
我们使用的是嵌套for循环第一层循环用于做比较对象a,内层循环用作比较对象b,其中下标相同的时候遍历的肯定是一样的值,我们需要将一样的值提出,这样才能保持数据的准确性,还需要判断两个字符是否相等,注意,这里是【字符】别写成字符串,字符串无法使用==进行判断。
三种解题思路
基本上都是一个套路,就是向后挨个查,只要有不相同的就结束输出结果就OK。
方法有无限种,我并没有测试运行的时间,但是第三种的效率可能会高一些,如果有兴趣的话可以测试一下时间。
这里由于出现相同的结果就会直接做【return】/【break】操作,故而除非有相同的元素我们才能在最后输出一条符合标准的语句,不需要做单独的判断。
这个判断应用在很多的小题中,判断去重等操作也都类似,找到对应下标进行具体的数组增删改查操作,难度有一些,但是只是有一些,稍微用点心就能拿下的这个小题目。
我记得这个题在全排列中可以作为一个最开始的判断,如果都是相同的字符,那么也就没有全排列的必要了。全排列我这里先稍微涉猎一下,我们会在后期对全排列进行深入的讲解与实操。
全排列
从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。
公式:全排列数f(n)=n!(定义0!=1)
这里的!不是非的含义,这里代表的是阶乘的含义,阶乘就是一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。
- 点赞
- 收藏
- 关注作者
评论(0)