java-一个简单的小算法求助

问题描述

一个简单的小算法求助

找出一个数组中既不是最大的数也不是最小的数,我的java代码如下(错误的):

 class NotMM{
    public void NotMM(int arr[]){
        int mid = arr[0];
        for(int i=0;i<arr.length-2;i++){
            if(arr[i+1]>arr[i]&&arr[i+1]<arr[i+2]){
                mid = arr[i+1];
            }else if(arr[i+1]<arr[i]&&arr[i+1]>arr[i+2]){
                mid = arr[i+1];
            }else if(arr[i]<arr[i+1]&&arr[i]>arr[i+2]){
                mid = arr[i];
            }else if(arr[i]>arr[i+1]&&arr[i]<arr[i+2]){
                mid = arr[i];
            }else{
                mid = arr[i+2];
            }
            System.out.println(mid);
        }
    }
}

public class Ex1_4 {
    public static void main(String[] args) {
        NotMM m = new NotMM();
        int arr[] = new int[]{2,4,6,1,7,5,3,8};
        m.NotMM(arr);
    }
}

请大侠改正,用简单的算法,谢谢!

解决方案

排序之后掐头去尾,然后随机选一个

解决方案二:

先对数组进行升序或降序排序,排好序不要数组两端的值就可以啦

解决方案三:

可以先排序,再取中间元素
Arrays.sort(arr);
mid=arr[arr.length()/2];


解决方案四:

可以先排序,再取中间元素
Arrays.sort(arr);
mid=arr[arr.length()/2];


解决方案五:

如果只找出一个就可以,那很简单啊。。
只要取前三个数就可以了。。。
如果是找出所有,那就和找出最大最小数完全一致=_=
感觉题目出的好奇怪。。
if(arr.length<3) {
throw new RuntimeException("无法取得匹配结果");
} else {
return Math.min(arr[0],arr[1],arr[2]);
}

解决方案六:

其实就是去掉最大和最小数的剩下的数,首先可以用冒泡排序,然后再截取数组中间的部分!

解决方案七:

这个可以吧

解决方案八:

额。问个问题,就是"只要既不是最大也不是最小就满足条件"吗

时间: 2024-08-01 10:02:18

java-一个简单的小算法求助的相关文章

java代码-我用Java 写的一个简单截图小工具 但是出现一些在重截时出现bug 跪求大神

问题描述 我用Java 写的一个简单截图小工具 但是出现一些在重截时出现bug 跪求大神 /**在这里贴上我注释满满的代码 求一语道破 求建议 求批评 没有贴main 方法 随便写个main方法便可运行 */ ` package com.subimaga; import java.awt.AWTException; import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Cursor; import java.

opengl开发简单的小游戏 求助

问题描述 opengl开发简单的小游戏 求助 如何用opengl开发一个简单的小蜜蜂(Galaxian)游戏? 求帮忙... 最好有源代码 解决方案 http://wenku.baidu.com/link?url=xWLY6MIHl3mmqkVDl4cf6xwMHIbQJFFGwYi9QJIUeWoX1ukhNkWpUrTHars-gm-UktA08oVz8TvbRnKTSZtIBHVC_xN7-fZpFgbQiW6erI_ 解决方案二: 简单小游戏

如何做一个简单的小网站

如何做一个简单的小网站,请注意:拥有域名不代表你就有了网站.做之前要想一下,网站用来干什么?静态的还是动态的,自己至少要懂一点代码知识,不懂程序的话,也要对html多少了解一些. 不然,我建议你还是到各大网站申请个Blog写日志算了:) 如果你: 1.做个简历式的小网站 上面就放些文章,图片或者资料,且文件不多,那么选择静态空间就搞定.你可以自己或者找人来做个网页的模版,自己套内容就 可以. 整体下来只要99元,包括域名和空间.在http://www.nicenic.com/design/?s=

需要一个简单的逻辑算法思路,求哪位朋友给点建议。

问题描述 需要一个简单的逻辑算法思路,求哪位朋友给点建议. 10C 我已经在MFC中创建一个Clistbox列表,然后打开一个文件夹历遍之后,获得文件夹内所有文件的绝对路径并传送到了Clistbox列表之中.我现在想要做的是,在列表中 按每一定数目的文件(假设20个) 读取,并多开一个线程并将它按某种算法进行加密(类似MD5之类的算法).这个地方 我没有思路. 应该怎么写,调用api函数.有做过类似项目的朋友 给点建议. 解决方案 首先,不是"历遍",是"遍历"然后

jquery插件-jquery.bootgrid插件如何实现数据的分页显示,求一个简单地小例子~~

问题描述 jquery.bootgrid插件如何实现数据的分页显示,求一个简单地小例子~~ 感觉它是一个非常不错的数据分页显示框架,希望能够学会,可是在网上没有查到类似的资料,大家有用过的吗? 解决方案 http://www.jquery-bootgrid.com/Examples 解决方案二: 这个我看过了,但是代码不全,有部分不知道怎么写

一个简单的小程序 我一天卖2000

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 请人写了一个简单的小程序,当别人提交了信息之后发送到邮箱,而邮箱是163的,开通了手机邮,也就是说,当用户提交了信息之后手机马上短信通知. 使用的是JMAIL组件.与之不同的是,发送三个邮箱. 还有一个功能就是读取数据库生成一个A4纸大的表格,可以很方便的打出来而不用录入到word.最后就是生成信封,原理同前,只是模板改成了信封. 再加上其他

c语言-一个简单的循环问题 求助

问题描述 一个简单的循环问题 求助 如图 我是大一新生 刚接触 可能很简单但是不懂 请各位大大帮助 那个题意是要怎样呢 然后主函数是怎么用的 应该怎么写这个程序呢 解决方案 认真看看书,代码不对. Count_One_Bits() { return } Count_One_Bits() { return iSunm; //少了这条语句 } void main() { int n,m; scanf("%d",&n); m=Count_One_Bits(n); printf(&qu

---求一个取时间的小算法.....

问题描述 我也不知道怎么描述有个任务每5分钟循环我要根据当前时间取得上个时间点(秒不要)比如固定分钟都是0106当前时间=取得的时间12:30:02=12:26:0012:31:00=12:31:0012:33:09=12:31:0012:37:12=12:36:00 解决方案 解决方案二:什么东西解决方案三:什么鬼--没懂解决方案四:dt.Minute/5*5+1解决方案五:DateTime.Now.AddMinutes(-4)解决方案六:接上再修正其它部分假设上面上面结果是dt那么dt.Da

求问一个简单的小问题

问题描述 在.CS文件中,如何用JAVACRIP打开一个新的页面?请把完整的代码写出来.谢谢!答对者一次性给20分! 解决方案 解决方案二:protectedvoidbtnReport_Click(objectsender,EventArgse){ClientScript.RegisterStartupScript(this.GetType(),"UserList",GetUrl());}publicstringGetUrl(){StringBuildersb=newStringBui