文档章节

374. Guess Number Higher or Lower

初雪之音
 初雪之音
发布于 2017/02/26 11:45
字数 182
阅读 5
收藏 1
点赞 0
评论 0

We are playing the Guess Game. The game is as follows:

I pick a number from 1 to n. You have to guess which number I picked.

Every time you guess wrong, I'll tell you whether the number is higher or lower.

You call a pre-defined API guess(int num) which returns 3 possible results (-1, 1, or 0):

-1 : My number is lower
 1 : My number is higher
 0 : Congrats! You got it!

Example:

n = 10, I pick 6.

Return 6.

思路:二分查找法(基础)

/* The guess API is defined in the parent class GuessGame.
   @param num, your guess
   @return -1 if my number is lower, 1 if my number is higher, otherwise return 0
      int guess(int num); */

public class Solution extends GuessGame {
    public int guessNumber(int n) {
		int result = -1;

		if (n >= 1) {
			int low = 1, hight = n;
			while (low <= hight) {
				int mid = (hight - low) / 2 + low;
				if (guess(mid) == -1) {
					hight = mid - 1;
				} else if (guess(mid) == 1) {
					low = mid + 1;
				} else {
					result = mid;
					break;
				}
			}
		}

		return result;
	}
}

 

© 著作权归作者所有

共有 人打赏支持
初雪之音
粉丝 41
博文 245
码字总数 138595
作品 0
广州
程序员
Python脚本之流程控制if语句

#!/usr/bin/env python # FileName: if.py number = 23 guess = int(raw_input('Enter an integer :')) if guess == number: print 'Congratulations ,you guessed it.' print 'But you do n......

mastters ⋅ 2014/08/20 ⋅ 0

Python学习之循环结构

1。while语句。和其他语言不同的是,它有一个可选的else语句。下面举例说明把。#!/usr/bin/python Filename: while.py number = 23running = True while running: else: print 'Done'上面代码...

淘醒迷乐 ⋅ 2013/06/19 ⋅ 0

LeetCode:Guess Number Higher or Lower

思路: 采用二分法进行查找: 可以调用guess 的API, 在 GuessGame中定义了 guess(int num) 方法,该方法可能返回 -1,1,0, 0表示猜对了,1表示比那个数大,-1表示比那个数小;...

tsmyk0715 ⋅ 2016/09/01 ⋅ 0

决战Leetcode: easy part(51-96)

本博客是个人原创的针对leetcode上的problem的解法,所有solution都基本通过了leetcode的官方Judging,个别未通过的例外情况会在相应部分作特别说明。 欢迎互相交流! email: tomqianmaple@...

qq_32690999 ⋅ 02/09 ⋅ 0

更新通报:Oracle全面修正了关于DB Link和SCN补丁的公告

更新通报:Oracle全面修正了关于DB Link和SCN补丁的公告 中国 Oracle 用户组2018-03-201 阅读 oracle公告link 前情回顾,请参考之前的文章: 预警揭秘:倒计时炸弹11.2.0.4前版本DB Link必须...

中国 Oracle 用户组 ⋅ 03/20 ⋅ 0

OBIEE 设置逻辑表源优先级

在 BIEE 的逻辑层可以配置多个物理表源,这样可以通过一个逻辑表访问到不同粒度的物理事实表。 比如说,可以创建一个以月为粒度的事实表,将之与一个月份维度表关联;再创建一个以日期为粒度...

DreamOver ⋅ 2017/12/05 ⋅ 0

iphone分辨率终极指南(含iphone6/6+)

如文字不清,请 “右键->图片另存为” 下载后查看大图 ------------------------- 原文及翻译文本 Points 点 At the beginning, coordinates of all drawings ar...

cuibo1123 ⋅ 2014/09/20 ⋅ 0

TCP/IP Troubleshooting

TCP/IP Troubleshooting: How to detect issues at the transport layer. Just a reminder: TCP/IP is both a protocol suite (a set of communications protocols used on the Internet and......

robin-yao ⋅ 2015/11/14 ⋅ 0

Advent of Code Day 15: Dueling JavaScript Generators [Video]

Advent of Code Day 15 was basically all about finding the right programming language. It needs built-in support for generators. You don't want to build that from scratch. But wh......

Swizec Teller ⋅ 2017/12/18 ⋅ 0

Remember the following two principles

Remember the following two principles Protect your password. Don’t write down your password - memorize it. In particular, don’t write it down and leave it anywhere, and don’t......

打一把 ⋅ 2014/05/19 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

AppDelegate 设置Root相关

self.window = UIWindow.init(frame: UIScreen.main.bounds) self.window?.backgroundColor = UIColor.white self.window?.makeKeyAndVisible() self.window?.rootViewController = RootTabB......

west_zll ⋅ 27分钟前 ⋅ 0

Java并发系列5--倒计时器CountDownLatch

今天讲一个倒计时器工具,叫CountDownLatch。需要这个工具的场景大概有:当所有的小任务都完成之后,再启动大任务。 先看代码: public class CountDownLatchDemo {static final CountDow...

大大枣 ⋅ 29分钟前 ⋅ 0

SpreadJS使用进阶指南 - 使用 NPM 管理你的项目

前言 SpreadJS作为一款性能出众的纯前端电子表格控件,自2015年发布以来,已经被广泛应用于各领域“在线Excel”数据管理项目中。NPM,作为管理Node.js库最有力的手段,解决了很多NodeJS代码部...

葡萄城控件技术团队 ⋅ 29分钟前 ⋅ 0

Mac下IntelliJ IDEA快捷键大全

https://blog.csdn.net/lisongjia123/article/details/54949364

细节探索者 ⋅ 32分钟前 ⋅ 0

建造者模式

1、工厂模式中创建的对象大都是简单的对象 复杂的产品类并且拥有不同的属性特点的管理就需要用到建造者模式 2、建造者模式: 将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以...

职业搬砖20年 ⋅ 33分钟前 ⋅ 0

Mysql数据库开发 怎么优化SQL语句?

 1) 现场抓出慢查询语句 show full processlist;   2) 配置参数:   slow_query_log_file = ON 慢查询开启开关   long_query_time =2 记录大于2秒的sql语句   log_queries_not_usi...

老男孩Linux培训 ⋅ 34分钟前 ⋅ 0

Laravel 安装执行php artisan migrate 出现字段过长错误

最近在自己研究Laravel Laravel版本:5.6 PHP版本:7.1.9 Mysql版本:5.7.19 Apache版本:2.4.27 系统版本:windows10 首先要保证电脑安装了composer,和node.js 执行命令 composer global ...

Marhal ⋅ 39分钟前 ⋅ 0

ELK6.0日志从收集到处理完整版教程(二)

ELK简介 Elasticsearch 开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。也可以认为ElasticSearch是一...

bz_z ⋅ 42分钟前 ⋅ 0

Spark项目之电商用户行为分析大数据平台之(七)数据调研--基本数据结构介绍

目录 一、user_visit_action(Hive表) 1.1 表的结构 1.2 表的说明 二、user_info(Hive表) 2.1 表的结构 2.2 表的说明 三、task(MySQL表) 3.1 表的结构 3.2 表的说明 四、工作流程...

xiaomin0322 ⋅ 47分钟前 ⋅ 0

评分卡模型剖析之一(woe、IV、ROC、信息熵)

信用评分卡模型在国外是一种成熟的预测方法,尤其在信用风险评估以及金融风险控制领域更是得到了比较广泛的使用,其原理是将模型变量WOE编码方式离散化之后运用logistic回归模型进行的一种二...

火力全開 ⋅ 47分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部