精华内容
下载资源
问答
  • 数据结构源代码解析 严蔚敏

    热门讨论 2011-10-04 15:12:30
    不论哪种情况,选择合适的数据结构都是非常重要的。 选择了数据结构,算法也随之确定,是数据而不是算法是系统构造的关键因素。这种洞见导致了许多种软件设计方法和程序设计语言的出现,面向对象的程序设计语言就是...
  • 如果中间的数大于或等于最左边的数,则左半是有序的,若中间数小于最左边数,则右半是有序的,我们只要在有序的半首尾两个数组来判断目标值是否在一区域内,这样就可以确定保留半边了,代码如下: ...

    这里写图片描述
    用题目中给的例子来分析,对于数组[0 1 2 4 5 6 7] 共有下列七种旋转方法:
    这里写图片描述
    二分搜索法的关键在于获得了中间数后,判断下面要搜索左半段还是右半段,观察上面数字,可以得出规律,如果中间的数大于或等于最左边的数,则左半段是有序的,若中间数小于最左边数,则右半段是有序的,我们只要在有序的半段里用首尾两个数组来判断目标值是否在这一区域内,这样就可以确定保留哪半边了,代码如下:

    package com.zhumq.lianxi;
    
    public class SearchinRotatedSortedArray {
        // Search in Rotated Sorted Array
        // Time Complexity: O(log n),Space Complexity: O(1)
        public int search(int[] nums, int target) {
            int first = 0, last = nums.length;
            while (first != last) {
                final int mid = first  + (last - first) / 2;
                if (nums[mid] == target)
                    return mid;
                if (nums[first] <= nums[mid]) {
                    //中间数大于或等于最左边的数,则左半段有序
                    //首尾两个数组来判断目标值是否在左半区域内
                    if (nums[first] <= target && target < nums[mid])
                        last = mid;
                    else
                        first = mid + 1;
                } else {
                    //中间数小于最左边的数,则右半段有序
                    //首尾两个数组来判断目标值是否在右半区域内
                    if (nums[mid] < target && target <= nums[last-1])
                        first = mid + 1;
                    else
                        last = mid;
                }
            }
            return -1;
        }
    }
    展开全文
  • c#学习笔记.txt

    2008-12-15 14:01:21
    另外我发现论坛上学习Java的人都非常的有个性,当有人问起学习哪种语言更好时,他会打出几百个“JAVA”来,填满整个屏幕,也不说是为了什么。我觉得这样做未免有些太霸道了,如果你说叫偏执狂我也不反对,虽然我...
  • 8.以下代码段中能否编译通过?请给出理由。 try { } catch(FileNotFoundException e1) { } catch(Exception e2) { } catch(IOException e3) { } catch { } 9.对于一个实现了IDisposable接口的类,以下哪些项可以...
  • oracle数据库经典题目

    2011-02-17 15:05:20
    3. 如果要查询数据库中所有表的信息,应当使用下列哪种数据字典视图?( A ) A. DBA视图 B. ALL视图 C. USER视图 D. 动态性能视图 4. 下列哪一项是Oracle数据库中最小的存储分配单元? ( C ) A. 表空间 B. C. 盘区...
  • HTML参考手册.chm

    2011-09-12 19:21:54
     当网络浏览器看到上面这段编码后,就会以下面的样式显示这段文字: 世界上没有比 我漂亮的订书机 更让我喜爱的东西了 我从杂货店买到了它 但任何优美的语言 都无法描述订书机的优点  这就是一段HTML代码,而...
  • asp.net面试题

    2011-05-27 17:56:26
    三、C#中为了防止非本程序集的代码访问,可以用什么关键字修饰类或者类成员? 四、为了将table表内bb(datetime类型)字段的数据按年月降序输出,对应的SQL语句为 选择题答案: 1.B,2.D,3.C,4.BC,5.B,6.AC,7....
  • C++程序员面试宝典

    热门讨论 2013-04-01 13:36:19
    面试题28 你最喜欢份工作的一点或者哪些方面 33 面试题29 请描述一下你自己的优缺点 34 面试题30 你对本公司的了解有多少 34 面试题31 对份工作的期望与目标何在 34 面试题32 你为什么要离职 34 面试题33 选择...
  • JAVA面试题最全集

    2010-03-13 13:09:10
    找出下列代码可能存在的错误,并说明原因: 二、JSP&Servlet技术 1.描述JSP和Servlet的区别、共同点、各自应用的范围 2.在Web开发中需要处理HTML标记时,应做什么样的处理,要筛选那些字符(< > & “”) 3.在...
  •  27、对于不同的网络操作系统提供功能的描述,以下哪种说法是错误的?  A、windows NT server有良好的文件和打印能力,有优秀的目录服务  B、windows NT server有良好的文件和打印能力,没有优秀的目录服务  C、...
  • 多视点方法也是管理需求变化的一新方法,它可以用于管理不一致性, 并进行关于变化的推理。 2. M公司的软件产品以开发实验型的新软件为主。瀑布模型进行软件开发已经有近十年了,并取得了一些成功。若你作为一...
  • Oracle专家高级编程--详细书签版

    热门讨论 2012-08-21 11:57:09
    Thomas Kyte就是主持Oracle Magazine Ask Tom专栏和Oracle公司同名在线论坛的那个Tom,他通过一方式热心地回答困扰着Oracle开发人员和DBA的各种问题。 目录 封面 -31 封底 -30 书名 -29 版权 -28 出版者的话 -27...
  • 如果计数就可以得到比较精确的频率,就将个频率值直接送入显示译码部 分。 (6)显示译码 将测量值转换成七译码数据,送入显示电路。 (7)显示电路 通过4 个LED 数码管将测得的频率值显示给用户。 (8)系统软件 ...
  • 最后,您可以用 FOR /F 命令来分析命令的输出。方法是,将 括号之间的 filenameset 变成一个反括字符串。该字符串会 被当作命令行,传递到一个子 CMD.EXE,其输出会被抓进 内存,并被当作文件分析。因此,以下...
  • D) 在Java中布尔值可以用true或false来表示,但是同时也可以用1或0来表示。 题目5:b 程序如下: class Test { public static void main(String[] args) { int i=1000; for(;;) { if(i>999) { ...
  • 1、2、2、3、4、5六个数字,java或你熟悉的语言,打印出所有不同的排列,如:512234、412345等,要求:“4”不能再第三位,“3”与“5”不能相连。并将这些数据按从小到大输出。 我的答案 我的写的不好 没...
  • c语言编写单片机技巧

    2009-04-19 12:15:17
    为了避免上述问题除了设法分割两电路block之外,设计电路板之前充分检讨设计构想,才是根本应有的手法,基本上设计高频电路电路板必需掌握下列三大原则:  高质感。  不可取巧。 ...
  • Dos命令大全

    2013-01-08 15:33:00
    最后,您可以用 FOR /F 命令来分析命令的输出。方法是,将 括号之间的 filenameset 变成一个反括字符串。该字符串会 被当作命令行,传递到一个子 CMD.EXE,其输出会被抓进 内存,并被当作文件分析。因此,以下例子: ...
  • 可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在...
  • 8.执行下列程序后,b, x, y的值分别是( )。 int x=6,y=8; boolean b; b=x>y&&++x==--y; A) true , 6, 8 B) false , 7, 7 C) true, 7, 7 D) false, 6, 8 9.以下由do-while语句构成的循环执行的次数是( )。 int k =...

空空如也

空空如也

1 2 3
收藏数 41
精华内容 16
关键字:

下列这段代码可以用哪种