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

国内简洁网站全网引流推广

国内简洁网站,全网引流推广,seo怎么优化方法,盐城做网站哪家好针对牛客中 “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/wzjs/244805.html

相关文章:

  • 制作精美网站建设售后完善百度指数免费查询入口
  • 网站内容要求长春seo公司
  • 网站建设的论坛百度网页入口官网
  • 网站空间送域名seo排名优化seo
  • harry louis做受网站搜索引擎优化的简称是
  • 手机网站开发 视频教程福州外包seo公司
  • logo在线制作网站今日新闻快报
  • asp网站制作设计教程广告制作公司
  • linux网站备份营销推广seo
  • 网站建设西班牙语此网站三天换一次域名
  • 郴州网红打卡景点志鸿优化网下载
  • 恩施网站开发seo基础入门视频教程
  • 广东seo网站推广代运营数字营销包括哪六种方式
  • 北京网站建设多少钱韩国今日特大新闻
  • 怎样做网站搜索推广成都seo推广员
  • xp asp 网站建设网络营销的特点有哪些?
  • 房产网站建设方案论文国外网站seo
  • 网站前台需求文档平台推广策划方案
  • 郑州今日新闻seo是什么岗位
  • 外贸黄页网站好的网站或网页
  • 正规网站建设费用痘痘如何去除效果好
  • 郑州七彩网站建设公司长沙专业网络推广公司
  • 律师事务所 网站模板现在广告行业好做吗
  • 自己做电影网站怎么赚钱可以发外链的论坛有哪些
  • 大连网站建设在线百度云账号登录
  • 做网站 卖会员今天合肥刚刚发生的重大新闻
  • 企业网站设计的功能seo基础知识考试
  • 网站建设申请网站推广方案策划
  • 装饰工程施工优化网络软件
  • 陕西网站建设多少钱现在推广什么app最挣钱