西安尚学堂练习09.11|Java编程笔试面试题

  • 功能描述:删除字符串中字符个数最少的字符,最少字符串有多个,最少的要全部删除,然后返回该子字符串。
    输入:asdasdas
    输出:asasas
    解答:
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.Map.Entry;
    public class DeleteLittle {
    public static void main(String[] args) {
    String str = "asdasdas";
    System.out.println(deleteLittle(str));
    public static String deleteLittle(String str) {
    Map<Character,Integer> map = new HashMap<Character,Integer>();
    char[] ch = str.toCharArray();
    for(int i = 0;i<ch.length;i++) {
    if(!map.containsKey(ch[i])){
    map.put(ch[i], 1);
    }else {
    map.put(ch[i], map.get(ch[i])+1);
    List<Map.Entry<Character,Integer>> list = newArrayList<Map.Entry<Character,Integer>>(map.entrySet());
    Collections.sort(list, new Comparator<Map.Entry<Character, Integer>>(){br/>@Override
    public int compare(Entry<Character, Integer> o1,
    Entry<Character, Integer> o2) {
    return o1.getValue().compareTo(o2.getValue());
    });
    String[] s = str.split(list.get(0).getKey().toString());
    StringBuffer sb = new StringBuffer();
    for(int i = 0;i<s.length;i++) {
    sb.append(s[i]);
    return sb.toString();
    2.功能描述:输入字符串,将该字符串中数字放到非数字的后面,并保持原有顺序不变。
    例如:h3a2p0p1y----------happy3201
    public class Demo27 {
    public static void main(String[] args) {
    String str = "h3a2p0p1y";
    System.out.println(childStr(str));
    public static String childStr(String inputStr){
    String numStr = "";
    String str = "";
    String numRegex = "[0-9]";
    String strRegex = "[a-zA-Z]";
    for(int i = 0;i<inputStr.length();i++) {
    if((inputStr.charAt(i)+"").matches(numRegex)) {
    numStr += inputStr.charAt(i);
    }else if((inputStr.charAt(i)+"").matches(strRegex)) {
    str += inputStr.charAt(i);
    return str+numStr;
    3.提取不重复的整数
    描述: 输入一个int型32位整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
    运行时间限制: 10 Sec
    内存限制: 无限制
    输入: 整数,如9876673
    注意:
    1、整数最后的0,请忽略,例如:输入1750,输出:571
    2、负数,保留‘-‘在前面,例如:输入-175,输出:-571
    输出: 整数,如37689
    样例输入: 9876673
    样例输出: 37689
    解答:
    public class Demo37 {
    public static void main(String[] args) {
    int num = -12310;
    System.out.println(getConvertInt(num));
    public static int getConvertInt(int num) {
    String str = String.valueOf(num);
    StringBuffer sb = new StringBuffer();
    boolean flg = true;
    if(str.charAt(0) == ‘-‘) {
    flg = false;
    sb.append(str.charAt(0));
    if(str.charAt(str.length()-1) != ‘0‘) {
    sb.append(str.charAt(str.length()-1));
    for(int i = str.length()-2;i>0;i--) {
    sb.append(str.charAt(i));
    if(flg) {
    sb.append(str.charAt(0));
    return Integer.parseInt(sb.toString());
  • 西安尚学堂练习09.11|Java编程笔试面试题

    原文地址:https://blog.51cto.com/14512197/2437476

    时间: 2024-10-10 12:34:40

    西安尚学堂练习09.11|Java编程笔试面试题的相关文章

    练习09.09|Java编程笔试面试题

    1.如果程序代码为:public class Demo{public static void main (String[ ] args){String a=args[1];System.out.println(a);进行编译后,执行以下命令将得到什么结果?java Demo a1 a2 a3结果:a22.现有一个类定义如下,请回答问题:class Employee{String name;int age;double wage;static int No=0;Employee(String a1

    西安尚学堂练习09.17|Java编程笔试面试题

    下列哪些类型能被throw语句抛出? A. Error B. Exception C. Throwable D. Object [解]注意Error也是可以被throw的,只是通常Error出现程序就中断了,我们并不会去捕获. 2.编程:给定两个字符串A,B(只包含26个英文字母),输出所有公共的最长子字符串(如果出现重复子串,则输出多次) 输入包括两行,每行为一个连续字符串(大小写敏感) 输出包括多行,每行为扫描到的最长公共子串,按照该子串在字符串A(即第一行输入字符串)中出现的先后次序输出

    西安尚学堂 练习09.03|Java编程笔试面试题

    在2.5亿个整数中找出不重复的整数,内存不足以容纳这2.5亿个整数.方案1:采用2-Bitmap(每个数分配2bit,00表示不存在,01表示出现一次,10表示多次,11无意义)进行,共需内存 内存,还可以接受.然后扫描这2.5亿个整数,查看Bitmap中相对应位,如果是00变01,01变10,10保持不变.所描完事后,查看bitmap,把对应位是01的整数输出即可.方案2:也可采用上题类似的方法,进行划分小文件的方法.然后在小文件中找出不重复的整数,并排序.然后再进行归并,注意去除重复的元素.

    西安尚学堂练习09.12|Java编程笔试面试题

    一. 简述springMVC的执行流程. 用户发起请求到前端控制器(Controller)前端控制器没有处理业务逻辑的能力,需要找到具体的模型对象处理(Handler),到处理器映射器(HandlerMapping)中查找Handler对象(Model).HandlerMapping返回执行链,包含了2部分内容: ① Handler对象.② 拦截器数组前端处理器通过处理器适配器包装后执行Handler对象.处理业务逻辑.Handler处理完业务逻辑,返回ModelAndView对象,其中view

    西安尚学堂练习09.10|Java编程笔试面试题

    1.给定a.b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a.b文件共同的url?方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G.所以不可能将其完全加载到内存中处理.考虑采取分而治之的方法.遍历文件a,对每个url求取 ,然后根据所取得的值将url分别存储到1000个小文件(记为 )中.这样每个小文件的大约为300M.遍历文件b,采取和a相同的方式将url分别存储到1000各小文件(记为 ).这样处理后,所有可能相同的url都

    西安尚学堂练习9.5|Java编程笔试面试题

    1.常用中间件RabbitMQ,kafka等,原理.区别.优缺点. RabbitMQ是一个AMQP实现,传统的messaging queue系统实现,基于Erlang.老牌MQ产品了.AMQP协议更多用在企业系统内,对数据一致性.稳定性和可靠性要求很高的场景,对性能和吞吐量还在其次. Kafka是linkedin开源的MQ系统,主要特点是基于Pull的模式来处理消息消费,追求高吞吐量,一开始的目的就是用于日志收集和传输,0.8开始支持复制,不支持事务,适合产生大量数据的互联网服务的数据收集业务.

    尚学堂练习9.7|Java编程笔试面试题

    1.如果程序代码为:public class Demo{public static void main (String[ ] args){String a=args[1];System.out.println(a);进行编译后,执行以下命令将得到什么结果?java Demo a1 a2 a3结果:a22.现有一个类定义如下,请回答问题:class Employee{String name;int age;double wage;static int No=0;Employee(String a1

    练习08.31|Java编程笔试面试题

    如何确保N个线程可以访问N个资源同时又不导致死锁?使用多线程的时候,一种非常简单的避免死锁的方式就是:指定获取锁的顺序,并强制线程按照指定的顺序获取锁.因此,如果所有的线程都是以同样的顺序加锁和释放锁,就不会出现死锁了.2.如何权衡是使用无序的数组还是有序的数组?有序数组最大的好处在于查找的时间复杂度是O(log n),而无序数组是O(n).有序数组的缺点是插入操作的时间复杂度是O(n),因为值大的元素需要往后移动来给新元素腾位置.相反,无序数组的插入时间复杂度是常量O(1).3.串行(seri

    西安尚学堂 程序员初级、中级和高级的区别在哪里

    前言 低级程序员认为自己与高级程序员的区别, 主要是高级程序员任何功能都能编码实现, 编码速度快, 代码无bug.高级程序员认为他们之所以高级, 在于他们认识到代码 bug 是不可避免的, 有千万种理由可以导致 bug,但他们可以在设计和逻辑上保证(追求)滴水不漏,并用逻辑的百分之百准确性还减少代码 bug.同样是程序员,初级.中级与高级的区别究竟在哪里呢? 初级程序员 初级程序员就是传说中的码农,依靠复制粘贴.比葫芦画瓢的方式完成代码的编写,通常一个方法几百行代码,恨不得一个类将所有的功能都实