从数组中返回最大长度的所有子数组

C#

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5
 6 namespace ConsoleApplication4
 7 {
 8     class Program
 9     {
10         static void Main(string[] args)
11         {
12             List<int> originalList = new List<int>();
13             for (int i = 1; i <= 5; i++)
14             {
15                 originalList.Add(i);
16             }
17             Console.Write("源数组:");
18             foreach (int item in originalList)
19             {
20                 Console.Write(item + " ");
21             }
22             Console.WriteLine();
23             List<List<int>> resultList = new List<List<int>>();
24             // 每一次由底至上地上升
25             for (int i = 0; i < originalList.Count; i++)
26             {
27                 List<int> subList = new List<int>();
28                 for (int j = 0; j < originalList.Count; j++)
29                 {
30                     if (j != i)
31                     {
32                         subList.Add(originalList[j]);
33                     }
34                 }
35                 resultList.Add(subList);
36             }
37             for (int i = 0; i < resultList.Count; i++)
38             {
39                 List<int> subList = resultList[i];
40                 Console.Write("子数组" + (i + 1) + ":");
41                 for (int j = 0; j < subList.Count; j++)
42                 {
43                     Console.Write(subList[j] + " ");
44                 }
45                 Console.WriteLine();
46             }
47             Console.WriteLine("子数组的数量:" + resultList.Count);
48             Console.ReadKey();
49         }
50     }
51 }

C#

JS

 1 <!DOCTYPE html>
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5     <title></title>
 6
 7 </head>
 8 <body>
 9     <script language="javascript" type="text/javascript">
10     var origianlList = [];
11     for (var i = 1; i <= 6 ; i++) {
12         origianlList[origianlList.length] = i;
13     }
14     document.write("源数组:");
15     for (var item in origianlList) {
16         document.write(item + " ");
17     }
18     document.write("<br/>");
19     var resultList = [];
20     for (var i = 0 ; i < origianlList.length ; i++) {
21         var subList = [];
22         for (var j = 0 ; j < origianlList.length ; j++) {
23             if (j != i) {
24                 subList[subList.length] = origianlList[j];
25             }
26         }
27         resultList[resultList.length] = subList;
28     }
29     for (var i = 0 ; i < resultList.length ; i++) {
30         var subList = resultList[i];
31         document.write("子数组" + (i + 1) + ":");
32         for (var j = 0 ; j < subList.length ; j++) {
33             document.write(subList[j] + " ");
34         }
35         document.write("<br/>");
36     }
37     document.writeln("子数组的数量:" + resultList.length);
38     </script>
39 </body>
40 </html>

JS

Java

 1 import java.util.ArrayList;
 2 import java.util.List;
 3
 4 public class Test {
 5
 6     public static void main(String[] args) {
 7         int score[] = { 1,2,3,4 };
 8         List<List<Integer>>list=new ArrayList<List<Integer>>();
 9         // 每一次由底至上地上升
10         for (int i = 0; i < score.length; i++) {
11             List<Integer>array=new ArrayList<Integer>();
12             for (int j = 0; j < score.length; j++) {
13                 if (j != i) {
14                     array.add(score[j] );
15                 }
16             }
17             list.add(array);
18         }
19         for (List<Integer> l : list) {
20             System.out.println(l);
21         }
22     }
23 }

Java

时间: 2024-10-08 12:30:42

从数组中返回最大长度的所有子数组的相关文章

从数组中返回指定长度的子数组[转]

1 using System; 2 using System.Collections.Generic; 3 using System.IO; 4 using System.Runtime.Serialization; 5 using System.Runtime.Serialization.Formatters.Binary; 6 7 namespace ConsoleApplication3 8 { 9 class Program 10 { 11 static void Main(string

程序员面试题目总结--数组(三)【旋转数组的最小数字、旋转数组中查找指定数、两个排序数组所有元素中间值、数组中重复次数最多的数、数组中出现次数超过一半的数】

转!http://blog.csdn.net/dabusideqiang/article/details/38271661 11.求旋转数组的最小数字 题目:输入一个排好序的数组的一个旋转,输出旋转数组的最小元素. 分析:数组的旋转:把一个数组最开始的若干个元素搬到数组的末尾.例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1.这道题最直观的解法并不难.从头到尾遍历数组一次,就能找出最小的元素,时间复杂度显然是O(N).但这个思路没有利用输入数组

剑指Offer 28. 数组中出现次数超过一半的数字 (数组)

题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2.如果不存在则输出0. 题目地址 https://www.nowcoder.com/practice/e8a1b01a2df14cb2b228b30ee6a92163?tpId=13&tqId=11181&rp=2&ru=/ta/coding-interviews&qru=/ta

判断一个数能否通过一个数组中的数相乘而得到(数组中的数使用次数不限)

题目:判断一个数能否通过一个数组中的数相乘而得到(数组中的数使用次数不限) 例如:第一行输入目标数x,第二行再输入一个数组(每个数用空格隔开),如果能则输出1,不能则输出-1: 输入例1: 20 2 3 5 7 输出: 1 解释:20 = 2*2*5,可以组成,所以输出1. 输入例2: 20 3 5 7 输出: -1 解释:无法组成,所以输出-1. 解题思路:转化成完全背包问题来解决(因为每个因子都可以使用无限次) #include <iostream> #include <bits/s

PHP从多维数组中返回单列数组

array_column (PHP 5 >= 5.5.0) array_column — 返回数组中指定的一列,并且可以用相应的id作为键值,很好用的内置数组函数. http://php.net/manual/zh/function.array-column.php 自定义方法: public static getArrayByKey($arData, $key='id'){ $arRe = array(); if (is_array($arData)) { for ($i=0; $i < c

leetcode—66 Plus One(数组中的值+1进位操作,数组扩充)

Plus One 66  Total Accepted: 48227 Total Submissions: 157869 My Submissions Question Solution Given a non-negative number represented as an array of digits, plus one to the number. The digits are stored such that the most significant digit is at the

js选择颜色小游戏(随机生成不含重复数字的数组,通过数组中的数控制定义好的数组)

<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>js网页版小游戏</title> <style media="screen"> .wrap { width: 577px; outline: 1px solid hotpink; margin: 100px auto; box-shadow: 0 0 5px; } .

把数组中的数据提取出来,包括数组中的数组

/*** 用闭包 实现数组中及数组内部数组 的数据提取出来*/ var myarr = [1,2,8,[3],[4,[5,[6],['a','b']],[9]]]; function tqFun(qcArr1){ var tempArr = []; function bbFun (qcArr){ for(var i=0; i<qcArr.length; i++){ if(qcArr[i] instanceof Array){ bbFun(qcArr[i]); }else{ tempArr.pus

删除数组元素 功能描述:有一个有序整数数组,要求输入一个数字, 在数组中查找是否有这个数,如果有,将该数从数组中删除, 要求删除后的数组仍然保持有序;

public static void main(String[] args) { int[] a={23,34,56,7,8,9}; int[] b = new int[a.length]; Scanner scan = new Scanner(System.in); System.out.println("请输入一个整数:"); int num = scan.nextInt(); boolean flag = true; int i = 0; for( ; i < a.leng