溢信科技笔试
  GBtg4mzOL0sL 2023年11月25日 15 0

1.选择题

  本次笔试一共五道选择题,其中两道都是考的continue,因此在这里记录一下continue和break的区别

  在Java语法中,continue跳过本次循环,进行下一次循环;而break直接跳出循环

溢信科技笔试_数组

   在上图中,我们会发现if里面的语句走完的时候,就立马跳出循环,当i取余不等于0的时候才会有s的值相加,所以每次s相加取到的都是偶数值,当i加到7的时候退出了循环。

溢信科技笔试_数组_02

   从上图我们可以看出,当走到break这里的时候直接退出了循环,s输出为0。

2.编程题

  在本次笔试中的编程题中,一共有两道,第一道是在有序数组中使用二分查找找出目标值。第二道是找出字符串中重复字符最多的子串。

2.1 二分查找目标值

思路:使用一层while循环,将更新的中间索引对应的数组值与目标值比较,如果相等直接返回中间索引值;如果小于则更新右边位置为原中间索引前一个位置;如果大于则更新左边位置为原中间索引的后一个位置。

二分查找目标值

public int search(int[] nums, int target) {
        int left = 0, right = nums.length-1;
        while(left <= right){
            int mid = (right - left)/2 + left;
            if(nums[mid] == target){
                return mid;
            }else if(nums[mid] < target){
                left = mid + 1;
            }else{
                right = mid -1;
            }
        }
        return -1;
}


2.2 找出字符串中重复字符最多的子串

溢信科技笔试_数组_03

   从上图可以看出,最后截取的重复字符最多的子串是eeeee。

思路:一层for循环,索引从1开始,当后一个数组值跟前一个数组值相等只,当前长度自增;当不相等时,说明是其他字符,此时先判断当前字符长度与最大长度的值。然后更新最大长度以及当前长度还有末尾索引。最后根据最大长度索引和末尾索引返回截取的子串。

private static String findLongestString(String s){
        if(s == null || s.length() == 0){
            return "";
        }
        char[] cArr = s.toCharArray();
        int maxLen = 1;
        int curLen = 1;
        int endIndex = 0;
        for (int i = 1; i < cArr.length; i++){
            if(cArr[i] == cArr[i-1]){
                curLen++;
            }
            else {
                if (curLen > maxLen){
                    maxLen = curLen;
                    endIndex = i - 1;//更新尾元素
                }
                curLen = 1;//重置为1
            }
        }
        if (curLen > maxLen){
            maxLen = curLen;
            endIndex = cArr.length - 1;
        }
        return s.substring(endIndex - maxLen + 1, endIndex + 1);
    }

找出重复字符最多的子串

 



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月25日 0

暂无评论

推荐阅读
GBtg4mzOL0sL