课堂练习&课下作业

设计思路:

将数组排序,最中间的那个数就是您要找的数。如果出现最多的那个数是最小的,那么1至(n+1)/2都是那个数。如果出现最多的那个数是最大的,那么(n-1)/2至n都是那个数。如果不是最小也不是最大中间的数也肯定是出现最多的那个。

源代码:

import java.util.Arrays;

public class Water {
    public static void main(String arg[])
    {
        int array[] = {3,1,3,1,5,6,3,3,3,3};

        Arrays.sort(array);

        int n = (array.length + 1) / 2;

        System.out.println("数组中超过一半的数是:"+array[n]);
    }
}

结果截图:

个人总结:

我能想到的也就三个方法了。一个是上面这个排序的,一个是两数比较,不同就消去两个,相同就进行下一项比较,还有一个就是最蠢的记录每个数出现的次数。然而我感觉不管用什么方法,都需要遍历一次数组,并没有哪种方法更快更简单,所以就选择了排序的方法做了。

时间: 2024-12-11 20:59:27

课堂练习&课下作业的相关文章

2017-2018-1 20155330 《信息安全系统设计基础》课堂测试&课下作业

2017-2018-1 20155330 <信息安全系统设计基础>课堂测试&课下作业 stat命令的实现-mysate 学习使用stat(1),并用C语言实现 提交学习stat(1)的截图 man -k ,grep -r的使用 伪代码 产品代码 mystate.c,提交码云链接 测试代码,mystat 与stat(1)对比,提交截图 STAT(1)学习 使用man 1 stat命令查看 使用man -k stat | grep 2查找相关函数 man 2 stat查看stat函数 产品

# 20155337 2017-2018 1 课上测试、课下作业、实验

20155337 2017-2018 1 课上测试.课下作业.实验 第一周 学习总结 第二周 课堂实践 第三周 学习总结 第四周 学习总结+myod 第五周 学习总结 课堂实践 第六周 学习总结 实验一 第七周 学习总结 实验二 第八周 加分项目pwd 第九周 学习总结 第十周 实验三 第十一周 学习总结

20165306 第四周课下作业

第四周课下作业 一.相关知识点总结 Ctrl+Shift+T 打开三个标签页,Alt+1进入第一个标签页 vim HelloJDB.java编辑调试示例代码 javac -g -d bin src/HelloJDB.java编译,-g 参数为了产生各种调试信息,一定要加上 jdb -classpath .:./bin HelloJDB 调试 stop in方法断点,stop at行断点 run运行,locals查看变量 print i或eval i查看变量i的值 list查看运行到了源代码的什么

第十周课下作业

第十周课下作业(补做课堂测试) 一.知识点总结 1.单链表 创建单链表 链表中数据的插入list.add("**"); 链表中数据的排序Collections.sort(); 链表中数据的删除lsit.remove(""); 2.排序 树集概念 树映射 TreeMap<K,V>**适合用于数据的排序** 通过关键字进行排序TreeMap<StudentKey,Student> treemap= new TreeMap<StudentKe

20155317 第八周课下作业(1)

20155317 第八周课下作业(1) 4.47: 冒泡排序实现: X86-64汇编: Y86-64汇编 4.48 实现冒泡排序,要求不使用跳转,且最多使用3次条件传送. X86-64汇编: y86汇编: 4.49 实现冒泡排序,要求不使用跳转,且最多使用1次条件传送. X86-64汇编: y86汇编

2017-2018-1 20155318 《信息安全系统设计基础》第十周课上测试及课下作业

2017-2018-1 20155318 <信息安全系统设计基础>第十周课上测试及课下作业 课上测试 解析:填充消除了冲突不命中,对于x和y数组,只有在引用第0个和第4个元素的时候发生不命中.因而命中率为75%. 解析:高速缓存容量为2048,高速缓存结构为(( 32 ),8,8,32) 解析:不同层之间是以块为大小传输单元在层与层之间复制,空缓存的不命中叫强制性不命中或冷不命中 解析:存储器层次结构的每一层都缓存来自较低一层的数据.缓存存储器是分块的,数据总是以块为基本单位在每一层之间传递,

20155332 补交ch12课下作业

20155332 补交ch12课下作业 课下测试提交晚了,我课后补做了一遍,答对13题,答错3题. 试题内容如下所示: 课本内容 1.并发(Concurrency) 访问慢I/O设备:就像当应用程序等待I/O中的数据时内核会切换运行其他进程一样,我们的应用也可以用类似的方式,将I/O请求与其他工作重叠从而挖掘并发的潜能. 推迟工作而减少延迟:我们可以推迟一些耗时工作稍后执行,例如内存分配器不在free时整理碎片,而是将这些琐屑的工作推迟到一个稍后执行的独立"逻辑流"(logical f

2018.3.8课下作业

2018.3.8课下作业 相关知识点的总结 编写代码 mkdir用于新建文件夹 vi用于编写代码 esc:wq结束编写 上传码云 git add+文件名 git commit -m "说明" git push -f origin master pakeage注意 javac src/Hello.java -d bin编写至bin文件夹 java -cp bin is5227.Hello在bin文件夹中编译 课上内容的补做 作业:p14 结果截图 代码的功能:规定数的求和 作业:带包的代

20165331 课下作业

20165331 课下作业 代码运行效果截图 P14从1加到20165331 P16(1)Person.java (2)2个.class文件,分别为Person.class和Xiti.class (3)只有Xiti.class可以运行 原文地址:https://www.cnblogs.com/violence/p/8546770.html