当前位置: 首页> 游戏> 单机 > 平面设计培训内容_服装商城网站的设计与实现_地推接单正规平台_怎么建立企业网站免费的

平面设计培训内容_服装商城网站的设计与实现_地推接单正规平台_怎么建立企业网站免费的

时间:2025/7/10 6:53:18来源:https://blog.csdn.net/Excuse_lighttime/article/details/143449775 浏览次数:0次
平面设计培训内容_服装商城网站的设计与实现_地推接单正规平台_怎么建立企业网站免费的

        

目录

        

1.给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引 。如果不存在,则返回-1

2.计算字符串最后一个单词的长度,单词以空格隔开。(注:字符串末尾不以空格为结尾)

       3.如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。

字母和数字都属于字母数字字符。

给你一个字符串 s,如果它是 回文串 ,返回 true ;否则,返回 false 。

        4.统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。

        总结:


1.给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引 。如果不存在,则返回-1

         1.首先,先定义一个数组,准备用来存放 外来字符串对象(引用是 s ),用来存储其中的 不同元素个数。

        

         为什么定义整型数组来接收?再看下面的代码:

        

        我们先遍历一遍外来的字符串 ,再通过 charAt方法 转换成字符,字符将会类似 ASCII 值,但更准确说是 Unicode 码值被隐式转换为整型作为 count 的下标来使用,因为 count 数组元素初始值默认是0,再通过 ++ 来计算当前的字符 有多少个一样的。 由于是遍历字符串,其他的字符同理。储存在不同 Unicode 码值 作为 count 数组的下标。

        2.接着,再通过遍历一次字符串,重头开始找到第一个只出现一次的字符,再返回下标,没有只出现一次的字符则返回-1.

        

         完整代码:

        

class Solution {public int firstUniqChar(String s) {int[] count = new int[300];for(int i=0;i < s.length();i++) {count[s.charAt(i)]++;}for(int i=0;i<s.length();i++) {if(1 == count[s.charAt(i)]) {return i;}}return -1;}
}

2.计算字符串最后一个单词的长度,单词以空格隔开。(注:字符串末尾不以空格为结尾)

         首先利用 lastIndexof 方法,用于查找指定元素(可以是字符)在对象中的最后一次出现的位置索引(也是下标)。

        

        上述代码,我们先通过  lastIndexof 方法 找到最后一个出现的空格,返回的下标用 end 接收,substring 方法 是从指定的索引开始,截取到原字符串的末尾,返回一个新的字符串。所以用了新 引用 s2 接收,得到最后一个单词,最后打印最后一个单词长度就完成了。

        完整代码:

        

import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);while(sc.hasNextLine()) {String s = sc.nextLine();int end = s.lastIndexOf(" ");String s2 = s.substring(end + 1);System.out.println(s2.length());}}
}

        有循环输入是因为考虑到牛客网的输入需要就是循环。

        

       3.如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。

字母和数字都属于字母数字字符。

给你一个字符串 s,如果它是 回文串 ,返回 true ;否则,返回 false 

       1. 首先,我们定义个方法来 判断 当前字符是否 符合 是字母 和 字符数字 。

        

        2. 再通过 toLowerCase 方法把大写字母变成小写的,再使用双指针方法来实现。

        

        双指针也就是 字符左右有两个 指针来指引。

        这里我们定义了 left 左指针,right 右指针。

        

        3. 再通过循环找到合法的字符,这里就使用到了刚开始我们创建的方法,用来找字母和数字字符。
                  4.最后,再判断左右两边字符是否一样,不一样肯定就不是回文串了,返回false,如果一样,则通过

else里的代码再来进行判断。

        完整代码;

        

class Solution {public static boolean isTrue(char c) {if(c >= 'a' && c <= 'z' || c >= '0' && c <= '9') {return true;}return false;}public boolean isPalindrome(String s) {s = s.toLowerCase();    int left = 0;int right = s.length() - 1;while(left < right) {while(left < right && !isTrue(s.charAt(left)) ) {left++;}while(left < right && !isTrue(s.charAt(right)) ) {right--;}if(s.charAt(left) != s.charAt(right)) {return false;}else {left++;right--;}}return true;}
}

         最后的返回 true 指 左右各自字符都通过判断了,左右两边字符都相等。

        

        4.统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。

         完整代码:

class Solution {public int countSegments(String s) {int count = 0;String[] s1 = s.split(" ");for(String s2:s1) {if (!s2.isEmpty()) {count++;}}return count;}
}

        首先,把外来的 引用给到 split 方法,可以将字符串按照指定的字符分割,传入的是空格,就会按照空格来分割字符串,最后它返回一个字符串数组,我们新建 s1 数组用来接收。

        前面也定义了个 变量count ,用来存储单词数。

        接着通过一个for 循环,isEmpty 用于判断一个字符串对象是否为空字符串,因为如果前面我们字符串有连续的空格,就会分割出两个空格之间的空字符串,所以要使用到 isEmpty 来判断count 是否要 ++,如果是为空字符串返回true,若字符串长度不为空,则返回 false  。

        最后返回的 count 这个字符串的 单词数。

        

        

        总结:

        这些题我们使用到的 方法:

        1. toLowerCase 方法,用于将字符进行大小写转换。

        2. charAt 方法,得到某个字符。

        3. lastIndexOf 方法,在字符串中查找指定字符最后一次出现的位置索引(下标)。

        4. substring 方法,从指定的索引(下标)开始,截取到原字符串的末尾,返回一个新的字符串。

        5. split 方法,用于指定按照何种模式(可以是字符)来分割字符串。该方法会根据指定的正则表达式(可以是字符)将原字符串分割成多个子字符串,并返回一个包含这些子字符串的数组。

        6. isEmpty 方法,用于判断一个字符串对象是否为空字符串。

关键字:平面设计培训内容_服装商城网站的设计与实现_地推接单正规平台_怎么建立企业网站免费的

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: