精华内容
下载资源
问答
  • 在实现这个算法的时候,想法是假如有一个数组{A,B,C),之后创建一个List存储{A,A+B,A+B+C); 若要求里面最大的连续数组的时候,用List后面的第i元素减去前面的第z元素的值如果最大的话(保证连续),那就说明从位置z+1...

    在实现这个算法的时候,想法是假如有一个数组{A,B,C),之后创建一个List存储{A,A+B,A+B+C);

    若要求里面最大的连续数组的时候,用List后面的第i元素减去前面的第z元素的值如果最大的话(保证连续),那就说明从位置z+1到位置i的连续数组有最大的和。然而在情况只有在特殊的情况下,最大值的位置若在最小值之后,并且最小值小于等于0的情况下,用最大值减去最小值即为连续子集最大值(保证最大),其实现的时间复杂度为O(n),若最大值位置在最小值之前,则该算法需要寻找出List数组里面的差值极大值才行。

    实现的代码:

    package lainxu;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
    import java.util.Scanner;
    
    public class ShowM {
        public static void main(String[] args) {
            // TODO 自动生成的方法存根
            
            List<Integer> max=new ArrayList<Integer>();
            
            int maxp=-1; //储存从1开始的子组和最大值的位置
            
            Scanner it=new Scanner(System.in);
            
            int num=0;
            //手动输入区域
            //--------------------------------------------
            System.out.println("请输入你想要查找数组的长度:");
            while(num<=0)    //实现用户输入数组的大小
            {
                if(it.hasNextInt())
                {
                    num=it.nextInt();
                    if(num<=0)
                    {
                        System.out.println("输入数组不能小于等于0,请重新输入");
                    }
                    
                }
                else
                {
                    it.next();
                    System.out.println("输入格式错误,请重新输入");
                }
            }
            //--------------------------------------------
            
            List<Integer> nums=new ArrayList<Integer>();    //用于储存数组
            
            max.add(0);        //添加一个max使其为0
            for(int i=1;i<=num;i++)        //储存数组
            {
                //--------------------------------------------
                //手动输入区域
                System.out.println("请输入第"+i+"个数:");
                Integer g_down=null;
                
                while(g_down==null)
                {
                    if(it.hasNextInt())
                    {
                        g_down=it.nextInt();
                        max.add(g_down+max.get(i-1));
                        nums.add(g_down);
    
                    }
                    else
                    {
                        it.next();
                        System.out.println("输入格式错误,请重新输入");
                    }
                }
                //--------------------------------------------
                
            }
    
            
            System.out.println("输入的数组是"+nums.toString());
            
    
            
            int minn=max.get(0);
            int minp=0;
            int remax=max.get(1);
            maxp=0;
            for(int i=1;i<max.size();i++)
            {
                List<Integer> max2=max.subList(0, i);
                int g_min=Collections.min(max2);
                if(max.get(i)-g_min>remax)
                {
                    remax=max.get(i)-g_min;
                    maxp=i-1;
                    minp=max.indexOf(g_min);
                }
            }
                
            
            System.out.println("最大子数组和为是"+(remax-minn)+",位置为("+(minp+1)+","+(maxp+1)+")");
            
            it.close();
        }
    
    }

    实验结果:

    实验过程如上

     

    转载于:https://www.cnblogs.com/halone/p/10500507.html

    展开全文
  • * 读取Excel内容,第一维数组存储是一行中格列值,二维数组存储是多少行 * * @param file * 读取数据源Excel * @param ignoreRows * 读取数据忽略行数,比喻行头不需要读入 忽略行数为1 * @return ...
  • 题干 给定一个未排序的整数数组,找出其中没有出现的最小的正整数。 示例 1: 输入: [1,2,0] 输出: 3 示例 2: ...用一个list来存储数组里的所有正数, 并记录正数数量记为len 再从0到k判断,其中哪...

    题干

    给定一个未排序的整数数组,找出其中没有出现的最小的正整数。

    示例 1:

    输入: [1,2,0]
    输出: 3
    

    示例 2:

    输入: [3,4,-1,1]
    输出: 2
    

    示例 3:

    输入: [7,8,9,11,12]
    输出: 1
    

    说明:

    你的算法的时间复杂度应为O(n),并且只能使用常数级别的空间。

    想法

    用一个list来存储数组里的所有正数,
    并记录正数数量记为len
    再从0到k判断,其中哪个数最先不含与list,就是哪个数。

    还有一些办法,比如说两个数组啥的,都是大同小异,这里不再赘述。

    Java 代码

    class Solution {
        public int firstMissingPositive(int[] nums) {
            List<Integer> list=new ArrayList <>();//用来存nums里的正数
            int len=0;
            for(int i=0;i<nums.length;i++){
                if(nums[i]<=0){
                    continue;
                }else{//加正数进去
                    list.add(nums[i]);
                    len++;
                }
        }
            int k=1;
            while(k<=len){
                if(!list.contains(k)){//无
                    return k;
                }
                else{//含有,那他就不是
                    k++;
                }
            }
      return k;  }
    }
    
    展开全文
  • 如何循环将同是一个索引不同字段(也就是索引名相同而,序列号和列名称不同)取出来放在一个list里。 也就是如何判断两行ResultSet是同一个联合索引字段 目前方法是使用HASH对键进行映射数据存储...
  • 第1章 让自己的第一个Java程序跑起来 2 教学视频:19分钟 1.1 想要用Java改变这个世界吗? 2 1.1.1 Java有什么优势? 2 1.1.2 Java在哪儿? 3 1.2 准备好开始Java之旅 3 1.2.1 下载JDK 4 1.2.2 安装JDK 5 ...
  • 第1章 让自己的第一个Java程序跑起来 2 教学视频:19分钟 1.1 想要用Java改变这个世界吗? 2 1.1.1 Java有什么优势? 2 1.1.2 Java在哪儿? 3 1.2 准备好开始Java之旅 3 1.2.1 下载JDK 4 1.2.2 安装JDK 5 ...
  • 第1章 让自己的第一个Java程序跑起来 2 教学视频:19分钟 1.1 想要用Java改变这个世界吗? 2 1.1.1 Java有什么优势? 2 1.1.2 Java在哪儿? 3 1.2 准备好开始Java之旅 3 1.2.1 下载JDK 4 1.2.2 安装JDK 5 ...
  • 里面是什么都没有,如果我们要输出容器类中1数据,会报错 List<String> list = new ArrayList<>(); System.out.println(list.get(0)); 下标超出边界了,也就是没有下标为0数据。 2.当我们往这...

    刚写了一个错误代码,记录一下

    1.新建一个容器类,
    里面是什么都没有的,如果我们要输出容器类中第1个数据,会报错

    List<String> list = new ArrayList<>();
    System.out.println(list.get(0));
    

    在这里插入图片描述
    下标超出边界了,也就是没有下标为0的数据。

    2.当我们往这个容器中加入一个数据

    List<String> list = new ArrayList<>();
    list.add("123");
    System.out.println(list.get(0));
    

    在这里插入图片描述
    这时容器里面就可以有东西给我们取了

    3.现在出现了一种情况,添加null进去会发生什么

    List<String> list = new ArrayList<>();
    list.add(null);
    System.out.println(list.get(0));
    

    答案是
    在这里插入图片描述
    null算作一个数据占用了第0个空间

    4.然后就有了一个注意事项
    当泛型类型为一个类时,一不小心就会出现空指针异常
    ①新建一个Student类,有三个属性

    public class Student {
    	public String sno;
    	public String name;
    	public String password;
    }
    

    //把list<String>改成list<Student>
    List<Student> list = new ArrayList<>();
    		list.add(null);
    	    System.out.println(list.get(0));
    

    这当然是没问题的,输出也不会有什么问题
    再加一句看看
    Student student = list.get(0);
    也没问题,因为list里面存的就是Student对象
    再加一句
    String name = student.name;
    这两句分开都没问题,连同上面的合起来看看

    List<Student> list = new ArrayList<>();
    		list.add(null);
    	    Student student = list.get(0);
    	    String name = student.name;
    

    student.name在这时不妨把它看作null.name
    好了,空指针异常出现了。
    在这里插入图片描述

    所以容器类的泛型类型为类时,多个心眼防止空指针异常。

    20.11.02第一次编辑

    展开全文
  • 问:在一个长度为n的数组里的所有数字都在0到n-1的范围内。... 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出第一个重复的数字2。 import java.util.*; public class Solution { ArrayList list

    问:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。

    import java.util.*;
    public class Solution {
        ArrayList<Integer> list = new ArrayList<Integer>();
        public boolean duplicate(int numbers[],int length,int [] duplication) {
        	for(int i=0;i<length;i++){
                if(list.contains(numbers[i])){
                    duplication[0]=numbers[i];
                    return true;
                }else{
                    list.add(numbers[i]);
                }
            }
            return false;
        }
    }


    展开全文
  • 之前程序是用C++写的,现在想要移植到java平台,需要用java重新写一遍,但是opencv里同一个函数在C++和java里有所变化,比如特征点检测里的detect,在C++里的参数可以是(Mat image,vector<cv::KeyPoint> ...
  • 一、List遍历过程中删除元素使用索引下标遍历的方式示例:删除列表中的2输出结果:问题:结果显示只删除了一个2,另一个2被遗漏了,原因是:删除了第一个2后,集合里的元素个数减1,后面的元素往前移了1位,导致了第...
  • java源码包---java 源码 大量 实例

    千次下载 热门讨论 2013-04-18 23:15:26
     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端程序,两者互相配合可以开发出超多网络程序,这是最基础部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
  • 我做的是java web的在线考试系统,现在已经可以把数据库里的输出到页面了。 如下图: ![图片说明](https://img-ask.csdn.net/upload/201903/09/1552104260_526587.jpg) 代码如下: ``` <%List...
  • 多人聊天+用户在线 21个目标文件 摘要:JAVA源码,媒体网络,山寨QQ,Java聊天程序 Java编写山寨QQ,多人聊天+用户在线,程序分服务端和客户端,典型C/S结构, 当用户发送第一次请求时候,验证用户登录,创建一个该...
  • 多人聊天+用户在线 21个目标文件 摘要:JAVA源码,媒体网络,山寨QQ,Java聊天程序 Java编写山寨QQ,多人聊天+用户在线,程序分服务端和客户端,典型C/S结构, 当用户发送第一次请求时候,验证用户登录,创建一个该...
  • 此时result可能输出结果有{3, 4},{3, 9},{4, 9},{4,3},{9, 3},{9, 4},每种可能的输出概率相同。 2.交换链表奇偶顺序 函数说明: swap函数交换链表2i和2i+1元素(如果都有话),并返回交换之后链表。 ...
  • 第一个为空,就是universityService对应类没有被配置到springioc容器中 而其他都被配置到了容器中,想了很久看了好几遍配置文件都搞不懂为什么,求大神指教! UniversityServiceImpl类: package ...
  • java源码包2

    千次下载 热门讨论 2013-04-20 11:28:17
     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端程序,两者互相配合可以开发出超多网络程序,这是最基础部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...
  • Java 中你可以凭借多态性,通过一个画圆对象,来创建一个画椭圆或矩形对象。不管是 画圆,画椭圆还是画矩形方法,它们都有一个相同方法名,但以不同方式完成他们 画圆功能。 1.8 类和对象 1.8.1 ...
  • java源码包3

    千次下载 热门讨论 2013-04-20 11:30:13
     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端程序,两者互相配合可以开发出超多网络程序,这是最基础部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...
  • java源码包4

    千次下载 热门讨论 2013-04-20 11:31:44
     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端程序,两者互相配合可以开发出超多网络程序,这是最基础部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...
  • 当客户机第一次调用一个Stateful Session Bean 时,容器必须立即在服务器中创建一个Bean实例,并关联到客户机上,以后此客户机调用Stateful Session Bean 方法时容器会把调用分派到与此客户机相关联Bean实例...
  • java开源包1

    千次下载 热门讨论 2013-06-28 09:14:34
    一个Java的类库,用于异步输出记录简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别转换,输出的 C++ 代码是有效代码。 OSGi 分布式通讯组件 R-...
  • java开源包12

    热门讨论 2013-06-28 10:14:45
    一个Java的类库,用于异步输出记录简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别转换,输出的 C++ 代码是有效代码。 OSGi 分布式通讯组件 R-...
  • Java资源包01

    2016-08-31 09:16:25
    一个Java的类库,用于异步输出记录简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别转换,输出的 C++ 代码是有效代码。 OSGi 分布式通讯组件 R-...
  • java开源包101

    2016-07-13 10:11:08
    一个Java的类库,用于异步输出记录简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别转换,输出的 C++ 代码是有效代码。 OSGi 分布式通讯组件 R-...
  • java开源包11

    热门讨论 2013-06-28 10:10:38
    一个Java的类库,用于异步输出记录简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别转换,输出的 C++ 代码是有效代码。 OSGi 分布式通讯组件 R-...
  • java开源包2

    热门讨论 2013-06-28 09:17:39
    一个Java的类库,用于异步输出记录简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别转换,输出的 C++ 代码是有效代码。 OSGi 分布式通讯组件 R-...
  • java开源包3

    热门讨论 2013-06-28 09:20:52
    一个Java的类库,用于异步输出记录简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别转换,输出的 C++ 代码是有效代码。 OSGi 分布式通讯组件 R-...
  • java开源包6

    热门讨论 2013-06-28 09:48:32
    一个Java的类库,用于异步输出记录简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别转换,输出的 C++ 代码是有效代码。 OSGi 分布式通讯组件 R-...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 145
精华内容 58
关键字:

java输出list里的第一个

java 订阅