今日头条手写代码-找出指定规则下和最大的子数组
2017-04-12 09:48
253 查看
给定乱序数组
子数组元素两两不相邻
子数组和最大
子数组元素两两不相邻
子数组和最大
import java.util.*; public class Main{ public static int sum(List<Integer> list){ int sum =0 ; for(Integer i:list){ sum+=i; } return sum; } private static int ans= 0; private static List<Integer> ansList = null; public static void dfs(int arr[],int pos,ArrayList<Integer> res){ if(pos >= arr.length){ int sum = sum(res); if(ans < sum){ ansList = res; ans = sum; } return; } // not choose dfs(arr,pos+1,res); // choose ArrayList<Integer> newList = new ArrayList<Integer>(res); newList.add(arr[pos]); dfs(arr,pos+2,newList); HashSet->HashMap } public static void main(String[] args){ int arr[] = new int[]{3, 5, 2, 4, -10, 8, 2, 4}; dfs(arr,0, new ArrayList<Integer>()); System.out.println(ans); for(Integer i : ansList){ System.out.print(i+" "); } System.out.println(); } }
相关文章推荐
- 今日头条面试手写代码-找出所有非递增减的子数组
- 长度为n的数组有正有负,找出元素之和最大的子数组
- 给定一个正整数和负整数组成的N*N矩阵,编写代码找出元素总和最大的子矩阵。
- Android 代码实现viewPager+fragment 模仿今日头条的顶部导航
- C# WebApi 获取今日头条新闻代码
- 二维数组中,找出和为最大的子数组
- 今日头条 2017年秋招编程题 :“最大乘积和”
- 最大映射 今日头条编程
- 2017今日头条前端工程师-找出函数最宽尖峰(70)
- 今日头条笔试题:“最小数字*区间和”的最大值【单调栈】
- Android 仿今日头条 可拖动的GridView 代码实例详解
- C#新手入门代码 在string字符串中找到指定字符的最大,最小索引值
- 今日头条 最大映射
- 今日头条 最大映射
- 程序员面试金典——解题总结: 9.18高难度题 18.12给定一个正整数和负整数组成的N*M矩阵,编写代码找出元素总和最大的子矩阵。
- 找出子数组中最大值最小值差值的最大值
- 将字符串编码成数值,求数值最大和问题(今日头条笔试题)
- 一行代码集成今日头条效果
- 《今日头条2017暑期实习》:找出函数的最宽尖峰
- 今日头条-动态规划-最大区间