栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

牛客网刷题day01

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

牛客网刷题day01

1,判断是否为回文字符串

给定一个长度为 n 的字符串,请编写一个函数判断该字符串是否回文。如果是回文请返回true,否则返回false。

数据范围:0 < n ≤10000000

要求:空间复杂度 O(1) ,时间复杂度O(n)

解题思路:新建一个StringBuilder类型的字符串,反向遍历字符串str,将其中的字符保存到s中,再对比s和str,如果两者相同,则表明字符串str是回文字符串,反之则不是回文字符串。

import java.util.*;
public class Solution {
    public boolean judge (String str) {
       StringBuilder s = new StringBuilder();
       for(int i=str.length()-1;i>=0;i--){
           s.append(str.charAt(i));
       }
       if(s.toString().equals(str)){
           return true;
       }
       return false; 
    }
}
2,判断字符是否唯一

给定一个字符串,请你判断其中每个字符是否全都不同。

数据范围:字符串长度满足1≤n≤100 

示例1

输入:"nowcoder"

返回值:false

说明: "nowcoder" 中 'o' 出现了两次,因此返回 false

示例2

输入:"nowcOder"

返回值:true

说明:每个字符都只出现了一次

解题思路:遍历字符串str,如果有相同则false

import java.util.*;
public class Solution {
    public boolean isUnique (String str) {
        for(int i=0;i 
3,排序 
描述 

给定一个长度为 n 的数组,请你编写一个函数,返回该数组按升序排序后的结果。

数据范围: 0≤n≤1×,数组中每个元素都满足0≤val≤

要求:时间复杂度 O(),空间复杂度O(n)

进阶:时间复杂度O(nlogn),空间复杂度O(n)

注:本题数据范围允许绝大部分排序算法,请尝试多种排序算法的实现。

示例1

输入:[5,2,3,1,4]

返回值:[1,2,3,4,5]

示例2

输入:[5,1,6,2,5]

返回值:[1,2,5,5,6]

解题思路:可以直接用排序方法做,也可以通过循环来处理,如果前一位大于后一位则二者交换位置。

import java.util.*;
public class Solution {
    public int[] MySort (int[] arr) {
         for(int i=0;iarr[j]){
                     int t = arr[i];
                     arr[i] = arr[j];
                     arr[j] = t;
                 }
            }   
         }
       // Arrays.sort(arr); 直接用Arrays.sort()排序也可以通过
        return arr;
    }
}

暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1016681.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号