`

轩辕互动-1.求三个整数中第二大的数2.整型数组的平衡点

 
阅读更多
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;


public class ExoWeb {

	public static void main(String[] args) {
		ExoWeb ew=new ExoWeb();
		
		System.out.println(ew.findSecondIn3Item(2, 5, 3));
		
		int[][] aa={
				{1,1,1,1,2,1},
				{1, 1, 0, 0, 1, 1},
				{1,2,0,2,1},
				{1,-1,1},
				{1,8,7,8,25,4,49,30,23},
				{1, 3, 5, 7, 8, 25, 4, 20},
		};
		for(int[] each:aa){
			System.out.print(Arrays.toString(each)+",balance points=");
			List<Integer> points=ew.findBalancePoint(each);
			for(int i:points){
				System.out.print(i+",");
			}
			System.out.println();
		}
	}

	/*
	 * find the mid item in THREE integers
	 */
	public int findSecondIn3Item(int a,int b,int c){
		//could this  be faster than sorting?
		int max=(a>b?a:b)>c?(a>b?a:b):c;
		int min=(a<b?a:b)<c?(a<b?a:b):c;
		int mid=a^b^c^max^min;	//equals to a+b+c-max-min
		/*
		int[] x=new int[3];
		x[0]=a;
		x[1]=b;
		x[2]=c;
		for(int i=0;i<x.length;i++){
			for(int j=0;j<x.length-i-1;j++){
				if(x[j]>x[j+1]){
					int temp=x[j];
					x[j]=x[j+1];
					x[j+1]=temp;
				}
			}
		}
		int mid=x[1];
		*/
	
		return mid;
	}
	
	/*
	 * 平衡点:比如int[] numbers = {1,3,5,7,8,25,4,20}; 25前面的总和为24,25后面的总和也是24,25这个点就是平衡点;
	 * 假如一个数组中的元素,其前面的部分等于后面的部分,那么这个点的位序就是平衡点 
	 * 要求1:返回任何一个平衡点
	 * 要求2:要求输入的数组可能是GB级
	 * solution to 1. use List<Integer>
	 * solution to 2. i cannot figure out a elegant solution. GB,,so you just cann't sum all the data in array
	 */
	public List<Integer> findBalancePoint(int[] a){
		List<Integer> points=new ArrayList<Integer>();
		int total=0;
		int firstSum=0;
		for(int i=0,len=a.length;i<len;i++){//若输入的数组是GB级,全部数组求和不可取
			total+=a[i];
		}
		for(int i=0,len=a.length;i<len;i++){
			if(firstSum==total-a[i]-firstSum){
				points.add(a[i]);
			}
			firstSum+=a[i];
		}
		return points;
	}
}

1
0
分享到:
评论
1 楼 moondownbird 2012-01-07  

相关推荐

    ide-eval-resetter-2.1.13.zip

    使用方法: 1.首先将文件拷贝到任意的linux系统中 2.执行命令 sh ide-eval-resetter.sh 即可导出文件

    javassist-3.23.1-GA.jar

    javassist-3.23.1.jar包 2018年10月2日 在官网下载的最新版

    M0n0Wall-generic-pc-1.8.1.iso

    M0n0Wall-generic-pc-1.8.1.iso,M0n0Wall-generic-pc-1.8.1.iso,M0n0Wall-generic-pc-1.8.1.iso,M0n0Wall-generic-pc-1.8.1.iso,M0n0Wall-generic-pc-1.8.1.iso

    cpptools-linux-1.71.1.vsix

    cpptools-linux.vsix linux 1.71.1 版本 vscode extensions

    NMONVisualizer_2021-04-04.jar

    NMONVisualizer is a Java GUI tool for analyzing nmon system files from both AIX and Linux. It also parses IOStat files, IBM verbose GC logs, Windows Perfmon & ESXTop CSV data and JSON data....

    ACE网络框架-文档资料

    【ACE网络框架-文档资料.rar】压缩包中含有如下内容: ================================================== 【ACE源码】目录: ACE+TAO+CIAO-6.0.0.tar.bz2 ----------------------------------------------------...

    graphviz-2.38.zip

    这个“graphviz-2.38.zip”文件包含了Graphviz工具包的版本2.38,这是一个经过时间检验且广泛使用的稳定版本。在解压后,我们可以看到两个主要文件:“Readme-说明.htm”和“graphviz-2.38.msi”。 "Readme-说明....

    jcommon-1.0.23-javadoc.zip

    在Java编程领域,库的使用极大地提高了开发效率,降低了重复劳动。本文将深入探讨一个重要的图形库组件——jcommon,并重点关注其1.0.23版本的Java文档(javadoc)内容。jcommon是一个用于Java应用程序的通用库,...

    手机游戏——轩辕豪侠传-破解版.jar

    最新的手机游戏——轩辕豪侠传-破解版.jar

    cjsn1993-python2.7-dev.zip

    在Python中操作GitLab,通常我们会使用一个名为`python-gitlab`的第三方库。这个库提供了与GitLab API交互的功能,使得我们可以编写Python脚本来执行各种GitLab操作,如创建、删除、重命名分支,以及创建和合并代码...

    Java的数组.docx

    在Java中,数组的使用不仅限于上述内容,还包括多维数组、数组的复制、排序算法(如快速排序、选择排序等)、查找算法(如二分查找)等更高级的应用。熟悉这些概念,将有助于编写出更加高效和可维护的代码。

    趴站蹲点\轩辕剑V3.31.zip

    在《轩辕剑V3.31》中,玩家将扮演主角,与其他角色互动,解决谜题,与敌人战斗。游戏采用了回合制战斗系统,玩家可以根据角色的属性和技能策略性地进行战斗。此外,游戏还包含了丰富的物品系统、技能树和角色养成...

    jfreechart-1.0.19-javadoc.zip

    在JFreeChart项目中,使用Ant生成Javadoc意味着开发者可以通过配置Ant脚本来自动化文档的生成,这极大地提高了工作效率。 4. **Javadoc内容解析** - **包结构**:Javadoc会列出所有相关的包,如`org.jfree.chart`...

    云计算技术与应用基础-教案.zip

    在教学过程中,这套教案将深入探讨以下几个关键知识点: 1. **云计算基础**:首先,会介绍云计算的定义和起源,解释其与传统IT服务的区别。此外,还将讨论公有云、私有云和混合云的概念及其应用场景。 2. **云计算...

    ui-toolkit-2.5.zip

    同时,内置多种常用字体,并可连接到第三方字体库,满足不同设计需求,确保视觉效果的统一和协调。 此外,UI Toolkit 2.5在文件组织和协作方面也有所优化。它可以将设计项目分解为多个模块,便于管理和更新。并且,...

    计算机组成原理实验-存储器.docx

    实验报告涉及了计算机组成原理中的核心概念——存储器。存储器是计算机系统的重要组成部分,用于暂时存储程序和数据。在此次实验中,重点是理解和操作静态随机存储器(SRAM),特别是6116型号的SRAM芯片。 1. **...

    imagenette2-160.zip

    imagnette是从大型数据集ImageNet(超过1400万张图片, 20,000个类别)中抽取出来的一个小数据集,由于早期研究人员和学生的计算资源有限,但他们也想在ImageNet这样的数据集上做研究和练习,因此才有了imagnette这个...

    random-linear-regression.zip

    线性回归数据集,机器学习数据集。There are many datasets available online for linear regression. I used the one from this link. https://www.kaggle.com/andonians/random-linear-regression/data

    usb1的静态库和头文件libusb-1.0

    标题中提到的"usb1的静态库和头文件libusb-1.0",是指libusb-1.0库的静态版本。静态库是将库代码直接编译进目标程序中,运行时不需要单独的库文件。这使得程序更加独立,但可能会增大程序体积。头文件`libusb.h`则...

    VMware-workstation-full-64.exe

    已测试好的虚拟机64位版本,其兼容性很好,另外再附带虚拟机的序列号

Global site tag (gtag.js) - Google Analytics