黑马程序员技术交流社区

标题: 练了一天的代码! [打印本页]

作者: 黑色幽默K    时间: 2015-3-23 22:20
标题: 练了一天的代码!
获取最值,选择排序,冒泡排序,交换位置,反转,普通查找,折半查找,插入一个数字,返回角标位置。
真的很头大啊!!
特别是在排序和查找这一块而!很头晕,还很头大!
public static int halfSearch_2(int[] arr, int key)
        {
                int min=0, max=arr.length-1, mid;
                while(min<=max)
                {
                        mid=(max+min)/2;
                        if(key>arr[mid])
                                min=mid+1;
                        else if(key<arr[mid])
                                max=mid-1;
                        else
                                return mid;
                       
                       
                }
                return min;
               
        }
最后返回的min,有谁能一瞬间想到为什么?
我是不能了,我得推导一番,才可以!!
作者: 一米一光年    时间: 2015-3-23 22:26
慢慢推到别着急,相信楼主好样的(-。-;)
作者: liu家二小姐    时间: 2015-3-23 23:43
加油加油哦~~:handshake
作者: a1301155262    时间: 2015-3-23 23:59
楼主好样的
作者: 哼19    时间: 2015-3-25 09:45
看了一遍这个知识点,个人感觉还是不太理解,还得多练习。加油
作者: 妖妖    时间: 2015-3-25 10:13
每次遇到这样的题,我总是先去在纸上画以下,返回什么,怎么进行就会很明显了,个人观点
作者: 邓熊财    时间: 2015-3-25 18:02
获取一个数在该数组中插入的位置
作者: 四季    时间: 2015-3-25 18:44
加油吧。。这个死记根本没用。。头都要晕死。。。
作者: 胡宗钊    时间: 2015-3-25 19:14
加油加油   支持!!!!!
作者: 南极冰山    时间: 2015-3-25 19:18
加油吧,这个理解了就好了,就是思维题嘛~:loveliness:
作者: Vampire-he    时间: 2015-3-25 19:30
加油!!
作者: wkz_crystal    时间: 2015-3-25 21:39
呵呵,这个是折半查找,慢慢来,你就会理解的,主要是要知道执行的过程中,指针的位置在哪里?这样你自然就能推出是min了……
作者: 张耀东    时间: 2015-3-25 22:25
楼主厉害
作者: 绝望    时间: 2015-3-25 22:32
折半查找,只要理解了算法,代码就算忘了也能写出来
作者: qq471077336    时间: 2015-3-25 22:38
见多识广吧
作者: O(∩_∩)O~wen    时间: 2015-3-25 22:42
{:2_31:}{:2_31:}{:2_31:}{:2_31:}{:2_31:}{:2_31:}
作者: ITheima-Ssmnr    时间: 2015-3-25 22:59
奋斗吧亲,  希望就在前方
作者: 時間_|_的灰    时间: 2015-4-20 01:02
加油吧,这个理解了就好了,就是思维题嘛~
作者: kitboxer    时间: 2015-4-20 07:11
你们的代码怎么都是这种风格?一句话的语句都用简写形式……
作者: 日出pk朝阳    时间: 2015-4-20 08:24
加油。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2