记录春招刷题第一天

掌阅科技2023年秋招后端岗笔试真题--编程题

1、删除有序数组重复元素

给定一个整形数组 nums,固定升序排列,请你删除重复元素,返回删除后数组的新长度。

方法:双指针

import java.util.Scanner;
 
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        
         int j = 0;
         
         String g = in.next();
         String[] nums = g.split(",");
          
         int fast =1;
         int slow =1;
         while(fast<nums.length){
            if(!nums[fast].equals(nums[fast-1])){
                nums[slow++]=nums[fast];
                 
            }
            fast++;
         }
         System.out.println(slow);
    }
}

2、字符逆序

将一个字符串str的内容颠倒过来,并输出。

如:输入“I am a student”,输出“tneduts a ma I”。

保证字符串长度不超过100。

方法:直接使用Java中的StringBuffer的reverse方法。

import java.util.Scanner;
 
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
         
        Scanner in = new Scanner(System.in);
        String str=in.nextLine();
        in.close();
        String reverse = new StringBuffer(str).reverse().toString();
        System.out.print(reverse);
        
    }
}

3、在字符串中找出连续最长的数字串

现有一个字符串str,输出字符串str中的最长的数字子串。

方法:使用split找到连续的数字串,输出最长的数字串。

import java.util.Scanner;
 
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String str = in.nextLine();
        String[] nums=str.split("[a-zA-Z]+");
        int count=0;
        for(int i=0;i<nums.length;i++){
            if(nums[i].length()>count){
                count=nums[i].length();
            }
        }
        for(int i=0;i<nums.length;i++){
            if(nums[i].length()==count){
                System.out.print(nums[i]);
                break;
            }
        }
    }
}

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值