当前位置: 首页 > news >正文

做期货资讯网站湘潭网站制作

做期货资讯网站,湘潭网站制作,怎样免费制作网页,自己做的网站图片无法显示针对牛客中 “dd爱框框” 这道题的运行超时问题,分享一种 Java 自定义快速读的方式以解决该问题。题目链接:dd爱框框 题目描述如下: 解题思路:对于本题首先想到的就是双指针思想,一个指针记录左边界,…

        针对牛客中 “dd爱框框” 这道题的运行超时问题,分享一种 Java 自定义快速读的方式以解决该问题。题目链接:dd爱框框

题目描述如下:    

解题思路:对于本题首先想到的就是双指针思想,一个指针记录左边界,另一个指针遍历数组,期间统计遍历过的和 sum,当 sum 的值大于等于 x 时,右移记录左边界的指针,期间不断更新最小长度区间和指针位置。最终遍历完数组后得到最小长度区间的起点和最小区间长度,通过这两个变量即可输出结果。但注意的是题目要求中第一个数字位置为 1,而我们数组中第一个数字下标为 0,因此需要给 起点 和 起点+最小区间长度 都加上 1,即得到最终的结果。

具体代码如下所示

import java.util.*;
import java.io.*;
public class Main {public static void main(String[] args) throws IOException {
//         Read read = new Read();Scanner read = new Scanner(System.in);int n = read.nextInt();int x = read.nextInt();int[] arr = new int[n];for (int i = 0; i < n; i++) {arr[i] = read.nextInt();}int sum = 0;int left = -1;int index = 0;int length = Integer.MAX_VALUE;for (int i = 0; i < n; i++) {sum += arr[i];while (sum >= x) {if (i - index < length) {left = index;length = i - index;}sum -= arr[index];index++;}}System.out.println((left + 1) + " " + (left + length + 1));}
}

        经过反复分析,思路以及写法都没有问题,但在牛客中提交只能通过 20% 的用例,如下图所示。最终发现是输入方式的问题,因此学习了一种 JAVA 的快速读方式,做一个记录。

快速读的 Read 类定义如下:

import java.util.*;
import java.io.*;
class Read {StringTokenizer st = new StringTokenizer("");BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));String next() throws IOException {while (!st.hasMoreTokens()) {st = new StringTokenizer(bf.readLine());}return st.nextToken();}String nextLine() throws IOException {return bf.readLine();}int nextInt() throws IOException {return Integer.parseInt(next());}long nextLong() throws IOException {return Long.parseLong(next());}double nextDouble() throws IOException {return Double.parseDouble(next());}
}

        通过在主方法中 new 上述定义的 Read 类来进行数据的读取以替代 Scanner,更换方式后通过了该题,完整代码如下所示: 

 

import java.util.*;
import java.io.*;
public class Main {public static void main(String[] args) throws IOException {Read read = new Read();
//        Scanner read = new Scanner(System.in);int n = read.nextInt();int x = read.nextInt();int[] arr = new int[n];for (int i = 0; i < n; i++) {arr[i] = read.nextInt();}int sum = 0;int left = -1;int index = 0;int length = Integer.MAX_VALUE;for (int i = 0; i < n; i++) {sum += arr[i];while (sum >= x) {if (i - index < length) {left = index;length = i - index;}sum -= arr[index];index++;}}System.out.println((left + 1) + " " + (left + length + 1));}
}
class Read {StringTokenizer st = new StringTokenizer("");BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));String next() throws IOException {while (!st.hasMoreTokens()) {st = new StringTokenizer(bf.readLine());}return st.nextToken();}String nextLine() throws IOException {return bf.readLine();}int nextInt() throws IOException {return Integer.parseInt(next());}long nextLong() throws IOException {return Long.parseLong(next());}double nextDouble() throws IOException {return Double.parseDouble(next());}
}

 

http://www.dtcms.com/a/576275.html

相关文章:

  • 东莞网站建设纸品包装清苑网站建设
  • 长沙学校网站建设足球世界排名国家
  • 网站代码软件基于PHP的家教网站开发环境
  • 哪里做网站的比较多大型的网站后台用什么做
  • 青海专业网页设计免费建站最热门网页游戏排行榜
  • 河北省住房和建设厅网站首页设计师网红
  • 做网站一般用什么字体做网站需要买什么
  • 网站建设新闻 常识织梦dedecms女性时尚门户网站模板
  • 网站模板 html做标签这个网站刷单安全吗
  • 南宁做自适应网站网站使用网络图片做素材 侵权吗
  • 静态网站系统html京东页面制作
  • 网站开发计划书封面设计宁波网站建设 联系哪家
  • flash型的著名网站合肥网站优化费用
  • 昆山网站优化公司装潢公司企业网站源码
  • 兰坪建设公司网站域名与网站的区别
  • 一个域名解析多个网站设计师网络平台
  • 网站权重是怎么提升的wordpress 长微博
  • 做网站外包大学生东道设计公司官网招聘
  • 苏州网站开发外包公司如何做自己的网站百度推广
  • 自己电脑如何做网站服务器烟店网站建设
  • 西安门户网站建设四川林峰脉建设工程有限公司网站
  • 中国古风网站模板php设计网站建设
  • 深圳微网站开发网站ns记录
  • 青岛市城乡建设局网站家教中介网站开发
  • 广安建设厅官方网站会宁网站建设公司
  • 建设银行网网站打不开漳浦建设局网站更新
  • 重复建设政务网站中山网直播
  • 免费影视网站建设wordpress绑定域名收费
  • 北仑网站建设案例如何同步目录wordpress
  • 利辛网站建设开发一个同城app需要多少钱