课堂练习&课下作业

【课堂练习】

设计思路:

将数组排序,最中间的那个数就是您要找的数。如果出现最多的那个数是最小的,那么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]);
    }
}

结果截图:

个人总结:

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

 

【课下作业】

我就分析一下我现在手机上iPhone自带的输入法吧。

用户界面:不是特别的美观,但是和iPhone的风格比较搭配吧。

记住用户选择:平时用得比较多的词,还有电话簿里的联系人都已经被输入法所记住,就是只要打词语或名字各个字的首字母或拼写,那个词语就会出现并置顶。

短期刺激:比较方便,能够切换多种语言(英语、日语还有表情)。

长期使用的好处坏处:26键的数字不太好输入,按键较小不太好按。

不要让用户犯简单的错误:26键里如果按错字母了,输入法会自动匹配正确的字母并出现词语,也有撤销输入的功能。

转载于:https://www.cnblogs.com/wxyxxx/p/5511008.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值