vivo历年秋招笔试真题
如需获取完整资料,请点击下方链接领取《2024校招笔试真题秘籍》(实时更新中)
不收费,3人组团即可一块免费领取!限量免费10000个名额
手机端点击免费领取:https://www.nowcoder.com/link/campus_xzbs2
电脑端请扫码领取:
1、字符串排序
【题目描述】请对一组字符串进行排序,字符串由大小写字母和数字组成,需要满足以下比较规则1、长度不同时,长度较短在排前面2、长度相同时,按照字典顺序排列(AaBb - Zz,0-9 顺序),即大写字母在小写字母前,数字排在字母后。要求时间复杂度为O(nlogn)。比如:abc Abc 123 1 1bc CBD abcd a排序后结果为:a 1 Abc abc CBD 1bc 123 abcd
【解题思路】
按照题目要求实现cmp函数,调用sort函数。
【参考代码】
public class Main { public static void main(String[] args) { String[] input = {"abc", "Abc", "123", "1", "1bc", "CBD", "abcd", "a" }; sort(input); for (String s : input) { System.out.println(s); } } private static void sort(String[] input) { quickSort(input, 0, input.length - 1); } private static void quickSort(String[] data, int left, int right) { if (left > right) { return; } int i, j; String t, temp; temp = data[left]; i = left; j = right; while (i != j) { while (cmp(data[j], temp) >= 0 && i < j) { j--; } while (cmp(data[i], temp) <= 0 && i < j) { i++; } if (i < j) { t = data[i]; data[i] = data[j]; data[j] = t; } } data[left] = data[i]; data[i] = temp; quickSort(data, left, i - 1); quickSort(data, i + 1, right); } private static int cmp(String left, String right) { if (lef
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
2024软件笔试真题+答案合集 文章被收录于专栏
本专刊由牛客官方团队打造,主要讲解名企校招技术岗位的笔试题,内容中包含多个名企的笔试真题,附有题目思路及参考代码