笔试题
菜鸟的自我救赎
这个作者很懒,什么都没留下…
展开
-
用友集团笔试题8.18
标题1.给定字符串,实现字符串压缩功能,如“abbccdddaaaa”,压缩后为"a1b2c2d3a4",压缩后的长度始终小于原字符串长度,否则则输出原字符串,例"abccd",输出"abccd",压缩后为"a1b1c2d"比原字符import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in);原创 2020-08-18 18:16:29 · 547 阅读 · 0 评论 -
科大讯飞笔试题8.15(java)
1.给定一个无符号32位整数N,求N的二进制表示法中含1的个数此题是整数,不考虑负数情况,以下四种方法均可,由于是无符号32位,所以int不符合,要使用long类型法一:取余,但对于负数不适用输入:-1输出:0输入:8输出:1import java.util.Scanner;public class Member { public static void main(String[] args) { Scanner sc=new Scanner(Syste原创 2020-08-18 00:32:26 · 1238 阅读 · 1 评论 -
Scanner、sc.hasNext()方法
1.退出Scanner方法回车时退出import java.util.Scanner;public class ScannerTest { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNextLine()) { String str = sc.nextLine(); if.原创 2020-08-16 21:33:13 · 2332 阅读 · 0 评论 -
笔试常用基础类: Scanner 的用法总结
大部分公司的笔试题跟 LeetCode 的审核机制不一样,测试数据的给定并不是由函数参数提供,而是需要自己使用 Scanner 去扫描,有的公司还好,给你提供了 Scanner 的使用示例,有的公司直接就给你白板,要是不熟悉 Scanner 的话,在这上要浪费好多不必要的时间,所以写篇文章特意梳理一下 Scanner 的用法。原文地址:https://blog.csdn.net/u013568373/article/details/92803182?ops_request_misc=%257B%2522转载 2020-08-16 18:56:12 · 320 阅读 · 0 评论 -
笔试多次跪了的Scanner
今年的笔试和往常不太一样(学长和我交流说),算法题不只是写核心算法,接口由出题的人出了,但是我平常在环境做的算法都只是一个核心算法,因此这时候在输入输出跪了的情况太多了。所以想来总结一波:记忆尤新的是昨天的笔试中一道题,它的输入是:12,321,输出是他们最小的组成数。我记得我给的核心算法中需要传参的是int[]但是输入却是有逗号,一下子就让我没办法了,然后考完两分钟后写出来了,我沉默了。具体代码:1.这是如果你核心算法传参是int[]的,你输入有特殊字符如:" "  ...转载 2020-08-16 17:42:59 · 151 阅读 · 0 评论 -
面试中常见的排序算法
1.冒泡排序经典排序算法 - 冒泡排序Bubble sort原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换,这样一趟过去后,最大或最小的数字被交换到了最后一位,然后再从头开始进行两两比较交换,直到倒数第二位时结束...冒泡排序的优点:每进行一趟排序,就会少比较一次,因为每进行一趟排序都会找出一个较大值。如上例:第一趟比较之后,排在最后的一个数一定是最大的一个数,第二趟排序的时候,只需要比较除了最后一个数以外的其他的数,同样也能找出一个最大的数排在参与第二趟比较的数后面原创 2020-08-15 14:47:53 · 410 阅读 · 0 评论 -
剑指Offer---第6题
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。分析:1,2,3,4,5,.:递增排列9,8,7,6,5.:递减排列1,2,3,3,4,5,8,8,.:非递减排列9,8,7,7,6,5,5,2,1,.:非递增排列暴力法:import java.uti...原创 2020-06-24 21:34:56 · 171 阅读 · 1 评论 -
剑指Offer---第5题
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。分析:队列的特性是:“先入先出”,栈的特性是:“先入后出”当我们向模拟的队列插入数 a,b,c 时,假设插入的是 stack1,此时的栈情况为:栈 stack1:{a,b,c} 栈 stack2:{}当需要弹出一个数,根据队列的"先进先出"原则,a 先进入,则 a 应该先弹出。但是此时 a 在 stack1 的最下面,将 stack1 中全部元素逐个弹出压入 stack2,现在可以正确的从 stack原创 2020-06-24 12:31:21 · 103 阅读 · 0 评论 -
剑指Offer--第3题
输入一个链表,按链表从尾到头的顺序返回一个ArrayList。1.listNode 是链表,只能从头遍历到尾,但是输出却要求从尾到头,这是典型的"先进后出",我们可以想到栈!ArrayList 中有个方法是 add(index,value),可以指定 index 位置插入 value 值,所以我们在遍历 listNode 的同时将每个遇到的值插入到 list 的 0 位置,最后输出 listNode 即可得到逆序链表复杂度时间复杂度:O(n)空间复杂度:O(n)import java.原创 2020-06-23 18:09:49 · 142 阅读 · 0 评论 -
剑指Offer--第1题
问题:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。暴力法:分析:直接遍历一遍数组,即可判断目标target是否存在。 复杂度分析 时间复杂度:O(n^2),因为最坏情况下,数组中的元素都需要遍历一次。 空间复杂度:O(1) 代码: public boolean Find(int target, int [][] array) {原创 2020-06-23 14:49:50 · 94 阅读 · 0 评论