最大子数组和问题
2020-04-02 16:05:41来源:博客园 阅读 ()
最大子数组和问题
题目描述:最大子数组和问题
1.元素个数不超过100个,存储在文本文件中。
2.元素具有首尾相接特点。
3.输出结果:
(1)求出的最大子数组和
(2)该字数组在原数组中的位置(起始下标和结束下标)
代码如下:
package com.company; import java.io.*; import java.util.Scanner; public class A { public static int[] method01(File file){ System.out.println("请输入少于100个数:"); Scanner sc = new Scanner(System.in); String str = sc.next().toString();//输入字符串 例如输入:1,-5,9,-2,3 String[] s = str.split(",");//以符号“,”为分割线,将分割后的内容一次存入字符数组s中 例如:此时字符串数组s中的内容为:{"1","-5","9","-2","3"},字符串数组长度为5 int[] array = new int[s.length];//生成一个与字符数组同等长度的整型数组,用于存储将字符串转换为整型的内容 if(s.length >= 100){ System.out.println("你输入的数多于100个!"); return null; } System.out.println("你输入的数组是:"); for (int i = 0;i < s.length;i++){ array[i] = Integer.parseInt(s[i]);//这一步是逐一将字符串转化为整型,以便于返回值的返回 例如:此时的array数组的内容为:{1,-5,9,-2,3} System.out.print(s[i]+" "); } System.out.println(); //进入写操作的函数内 method02(file,str); return array;//将处理好的数组返回给调用者 } public static void method02(File file,String str){ BufferedWriter out = null; try{ /* FileOutputStream fos = new FileOutputStream(file,true); OutputStreamWriter osw = new OutputStreamWriter(fos); out = new BufferedWriter(osw); */ out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file,true))); out.write(str+"\r\n"); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally { try { out.close(); } catch (IOException e) { e.printStackTrace(); } } } public static void main(String[] args){ File file = new File("D:\\IntelliJIDEA2019\\javaProject1\\src\\com\\company\\a.txt");//在指定路径下生成一个a.txt int[] array = null; array = method01(file); if(array != null){ B b = new B(); b.MSA(array,array.length);//最后调用核心算法实现功能 } } }
package com.company; public class B { public void MSA(int[] a,int len){ int cur = 0; int max1 = a[0]; int start = 0; int end = 0; for (int i = 0;i < len;i++){ if(cur < 0){ cur = 0; start = i; end = i; } cur += a[i]; if(cur > max1){ max1 = cur; end = i; } } System.out.print("最大字串为:"+max1+",下标从"+start+"到"+end+"(从0开始)"); } }
运行结果如下:
生成的txt文件内容如下:
原文链接:https://www.cnblogs.com/biaobiao88/p/12621053.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Java笔记:数组,异常,泛型 2020-06-08
- 面试的时候按照这个套路回答 Java GC 的相关问题一定能过 2020-06-08
- 我可真是醉了,一个SpringBoot居然问了我30个问题 2020-06-08
- Mybaties简单实例测试及注意问题 2020-06-07
- java对象指向问题 2020-06-07
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash