zoukankan      html  css  js  c++  java
  • 课堂练习&课下作业

    【课堂练习】

    设计思路:

    将数组排序,最中间的那个数就是您要找的数。如果出现最多的那个数是最小的,那么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键里如果按错字母了,输入法会自动匹配正确的字母并出现词语,也有撤销输入的功能。

  • 相关阅读:
    Java多线程——<八>多线程其他概念
    Java多线程——<七>多线程的异常捕捉
    逆向破解之160个CrackMe —— 022
    逆向破解之160个CrackMe —— 021
    逆向破解之160个CrackMe —— 020
    逆向破解之160个CrackMe —— 019
    逆向破解之160个CrackMe —— 018
    逆向破解之160个CrackMe —— 017
    逆向破解之160个CrackMe —— 016
    逆向破解之160个CrackMe —— 015
  • 原文地址:https://www.cnblogs.com/wxyxxx/p/5511008.html
Copyright © 2011-2022 走看看