博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《程序员代码面试指南》第八章 数组和矩阵问题 未排序数组中累加和为给定值的最长子数组系列问题...
阅读量:6095 次
发布时间:2019-06-20

本文共 1063 字,大约阅读时间需要 3 分钟。

题目

未排序数组中累加和为给定值的最长子数组系列问题

java代码

package com.lizhouwei.chapter8;import java.util.HashMap;import java.util.Map;/** * @Description: * @Author: lizhouwei * @CreateDate: 2018/5/7 21:57 * @Modify by: * @ModifyDate:*/public class Chapter8_11 {    public int getMaxLength(int[] arr, int k) {        if (arr == null) {            return 0;        }        Map
map = new HashMap<>(); map.put(0, -1); int sum = 0; int maxLen = 0; for (int i = 0; i < arr.length; i++) { sum = sum + arr[i]; if (map.containsKey(sum - k)) { maxLen = Math.max(maxLen, i - map.get(sum - k)); } map.put(sum, i); } return maxLen; } //测试 public static void main(String[] args) { Chapter8_11 chapter = new Chapter8_11(); int[] arr = {1, 2, 1, 1, 1}; System.out.print("数组 arr = {1, 2, 1, 1, 1}中和为3的最长子数组长度为:"); int maxLen= chapter.getMaxLength(arr, 3); System.out.print(maxLen); }}

结果

1369004-20180507215859682-1457567939.png

转载于:https://www.cnblogs.com/lizhouwei/p/9005242.html

你可能感兴趣的文章
rsync 服务器配置过程
查看>>
查看linux发行版本方法
查看>>
写CV中
查看>>
【原】用PHP搭建基于swoole扩展的socket服务(附PHP扩展的安装步骤及Linux/shell在线手册)...
查看>>
jquery仿凡客诚品图片切换的效果实例代码
查看>>
alarm rtc
查看>>
scp断点续传
查看>>
SGMII
查看>>
深度解析:清理烂代码
查看>>
微信小程序开发
查看>>
Memcache知识点梳理
查看>>
源码分析MySQL mysql_real_query函数
查看>>
求职简历撰写要点
查看>>
第七章LED将为我闪烁:控制发光二极管
查看>>
Windows 进程间通信
查看>>
预处理、const与sizeof相关面试题
查看>>
爬虫豆瓣top250项目-开发文档
查看>>
Elasticsearch增删改查
查看>>
oracle归档日志增长过快处理方法
查看>>
有趣的数学书籍
查看>>