zoukankan      html  css  js  c++  java
  • 字符串和整数(使用链表的解决方法)

    对一字符串,以‘-’分隔,编程输出所有的整数中去掉最大值、最小值后剩下的整数的个数。注意最大值与最小值可能有多个

    样例输入3,3,5,3,6,9,7,9

    样例输出: 3

     

    该题的解题思路:首先,要先把字符串转换为String数组,然后可利用链表ArrayList将数组中每一个数添加至链表中,然后利用for循环比较大小,

    将最大值与最小值找出来,再用remove方法去除与最大值最小值相同的数。

    其中有很重要的一点,在利用remove方法去除最大值与最小值时,因为是在遍历的同时删除数据,所以ArrayList的总长也会发生变化,所以此时可以利用for循环倒序删除。

    解题:

     

    import java.util.ArrayList;
    
    public class Demo1 {
    
        public static void main(String[] args) {
            String num = "3,3,5,3,6,9,7,9";
            method(num);
            
        }
        
        public static void method(String str){
            String[] strs = str.split(",");
            ArrayList<Integer> arr = new ArrayList<Integer>();
            
            for(int i = 0; i < strs.length; i++){    //将数据添加至链表
                arr.add(Integer.parseInt(strs[i]));
            }
            
            int max = arr.get(0);
            for(int i = 0; i < arr.size(); i++){    //计算出最大值
                if(max < arr.get(i)){
                    max = arr.get(i);
                }
            }
            
            int min = arr.get(0);
            for(int i = 0; i < arr.size(); i++){    //计算出最小值
                if(min > arr.get(i)){
                    min = arr.get(i);
                }
            }
            
            for(int i = arr.size()-1; i >= 0; i--){        //将最大值与最小值从链表中去掉,该处倒序删除为重点.
                if(arr.get(i) == max || arr.get(i) == min){
                    arr.remove(arr.get(i));
                }
            }
            
            System.out.println("剩余的个数为:" + arr.size());
        }
        
    
    }

    在解题时,一开始想要通过数组解决,但在转换为string数组之后在比较max和min时出现了无法比较问题,现在已了解什么情况,还有ArrayList应用不熟练,要多联系.

  • 相关阅读:
    SpringBoot 整合Shiro
    Shiro 学习
    SpringBoot 整合security、thymeleaf
    【SpringBoot__Mybatis】整合MyBatis 配置文件版2
    SpringBoot 配置Druid数据源及监控
    lombok 使用
    thymeleaf 常用
    随机模块
    md5加密
    python正则
  • 原文地址:https://www.cnblogs.com/shenhx666/p/8000218.html
Copyright © 2011-2022 走看看