[剑指offer] 面试题43:n个骰子的点数(Java),[剑指offer] 面试题42: 翻转单词顺序 VS左旋转字符串(Java),[剑指offer] 面试题41:和为s的两个数字VS和为s的连续序列



Similar documents

第2章 数据类型、常量与变量

类 似 地, 又 可 定 义 变 下 限 的 定 积 分 : ( ). 与 ψ 统 称 为 变 限 积 分. f ( ) d f ( t) dt,, 注 在 变 限 积 分 (1) 与 () 中, 不 可 再 把 积 分 变 量 写 成 的 形 式 ( 例 如 ) 以 免 与 积 分 上 下 限 的

说 明 为 了 反 映 教 运 行 的 基 本 状 态, 为 校 和 院 制 定 相 关 政 策 和 进 行 教 建 设 与 改 革 提 供 据 依 据, 校 从 程 资 源 ( 开 类 别 开 量 规 模 ) 教 师 结 构 程 考 核 等 维 度, 对 2015 年 春 季 期 教 运 行 基

《C语言基础入门》课程教学大纲

龚 亚 夫 在 重 新 思 考 基 础 教 育 英 语 教 学 的 理 念 一 文 中 援 引 的 观 点 认 为 当 跳 出 本 族 语 主 义 的 思 维 定 式 后 需 要 重 新 思 考 许 多 相 连 带 的 问 题 比 如 许 多 发 音 的 细 微 区 别 并 不 影 响 理 解 和

& & ( & ) +,! #

伊 犁 师 范 学 院 611 语 言 学 概 论 全 套 考 研 资 料 <2016 年 最 新 考 研 资 料 > 2-2 语 言 学 纲 要 笔 记, 由 考 取 本 校 本 专 业 高 分 研 究 生 总 结 而 来, 重 点 突 出, 借 助 此 笔 记 可 以 大 大 提 高 复 习 效


Microsoft Word - 第7章 图表反转形态.doc

修改版-操作手册.doc

何 秋 琳 张 立 春 视 觉 学 习 研 究 进 展 视 觉 注 意 视 觉 感 知

随着执业中医师资格考试制度的不断完善,本着为我校中医学专业认证服务的目的,本文通过对我校中医类毕业生参加2012年和2013年的中医执业医师考试成绩及通过率、掌握率进行分析,并与全国的平均水平进行差异比较分析,以此了解我校执业中医师考试的现状,进而反映我校中医类课程总体教学水平,发现考核知识模块教学中存在的不足,反馈给相关学院和教学管理部门,以此提高教学和管理水平。

I

( ) 信 号 与 系 统 Ⅰ 学 科 基 础 必 修 课 教 周 2016 年 06 月 13 日 (08:00-09:35) ( )

第二讲 数列

用节点法和网孔法进行电路分析

国债回购交易业务指引


Microsoft Word - 资料分析练习题09.doc

登录、注册功能的测试用例设计.doc

中 国 软 科 学 年 第 期!!!

目 录 关 于 图 标... 3 登 陆 主 界 面... 3 工 单 管 理... 5 工 单 列 表... 5 搜 索 工 单... 5 工 单 详 情... 6 创 建 工 单... 9 设 备 管 理 巡 检 计 划 查 询 详 情 销 售 管

一 从 分 封 制 到 郡 县 制 一 从 打 虎 亭 汉 墓 说 起

第 六 章 债 券 股 票 价 值 评 估 1 考 点 一 : 债 券 价 值 的 影 响 因 素 2

抗 日 战 争 研 究 年 第 期

,,,,, :,, (.,, );, (, : ), (.., ;. &., ;.. &.., ;, ;, ),,,,,,, ( ) ( ),,,,.,,,,,, : ;, ;,.,,,,, (., : - ),,,, ( ),,,, (, : ),, :,

Microsoft Word - 第3章.doc

4.3.3 while 语 句 用 于 无 限 循 环 当 while 语 句 的 表 达 式 永 远 不 会 为 布 尔 假 时, 循 环 将 永 远 不 会 结 束, 形 成 无 限 循 环, 也 称 死 循 环 使 用 while 语 句 构 成 无 限 循 环 的 格 式 通 常

!!!!!!!!!!

<4D F736F F D C3E6CFF2B6D4CFF3A3A8B5DAC8FDD5C220C0E0CCD8D0D4A3A92E646F63>

HSK( 一 级 ) 考 查 考 生 的 日 常 汉 语 应 用 能 力, 它 对 应 于 国 际 汉 语 能 力 标 准 一 级 欧 洲 语 言 共 同 参 考 框 架 (CEF) A1 级 通 过 HSK( 一 级 ) 的 考 生 可 以 理 解 并 使 用 一 些 非 常 简 单 的 汉 语


18 上 报 该 学 期 新 生 数 据 至 阳 光 平 台 第 一 学 期 第 四 周 至 第 六 周 19 督 促 学 习 中 心 提 交 新 增 专 业 申 请 第 一 学 期 第 四 周 至 第 八 周 20 编 制 全 国 网 络 统 考 十 二 月 批 次 考 前 模 拟 题 第 一 学

PowerPoint 演示文稿

西 南 民 族 学 院 学 报 哲 学 社 会 科 学 版 第 卷 资 料 来 源 中 国 统 计 年 鉴 年 年 新 中 国 五 十 年 统 计 资 料 汇 编 中 国 人 口 统 计 年 鉴 年 数 据 资 料 来 源 中 国 统 计 年 鉴 中 国 统 计 出 版 社 年 版 资 料 来 源

<433A5C446F63756D656E E E67735C41646D696E F725CD7C0C3E65CC2DBCEC4CFB5CDB3CAB9D3C3D6B8C4CFA3A8BCF2BBAFA3A95CCAB9D3C3D6B8C4CF31302D31392E646F63>

ETF、分级基金规模、份额变化统计

2006年顺德区高中阶段学校招生录取分数线

第 期 李 伟 等 用 方 法 对 中 国 历 史 气 温 数 据 插 值 可 行 性 讨 论

第3章 创建数据库

i 1) 系 统 运 作 前 设 定 *1. [2.1 网 页 主 机 名 称 设 定 ] -- 设 定 校 务 系 统 的 主 机 IP 地 址, 以 供 其 他 个 人 电 脑 连 接 及 使 用 该 系 统 *2. [2.3.1 输 入 / 修 改 学 校 资 料 ] -- 输 入 系 统 使

导 数 和 微 分 的 概 念 导 数 的 几 何 意 义 和 物 理 意 义 函 数 的 可 导 性 与 连 续 性 之 间 的 关 系 平 面 曲 线 的 切 线 和 法 线 导 数 和 微 分 的 四 则 运 算 基 本 初 等 函 数 的 导 数 复 合 函 数 反 函 数 隐 函 数 以

<4D F736F F D20B3D6B2D6CFDEB6EEB1EDB8F1D7EED6D52E646F63>

¹ º ¹ º 农 业 流 动 人 口 是 指 户 口 性 质 为 农 业 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个 月 及 以 上 的 流 动 人 口 非 农 流 动 人 口 是 指 户 口 性 质 为 非 农 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个

Microsoft Word - 文件汇编.doc

一、资质申请

( 二 ) 现 行 统 一 高 考 制 度 不 利 于 培 养 人 的 创 新 精 神,,,,,,,,,,,,, [ ],,,,,,,,,,, :, ;,,,,,,? ( 三 ) 现 行 统 一 高 考 制 度 不 利 于 全 体 学 生 都 获 得 全 面 发 展,, [ ],,,,,,,,,,,

附 件 : 上 海 市 建 筑 施 工 企 业 施 工 现 场 项 目 管 理 机 构 关 键 岗 位 人 员 配 备 指 南 二 一 四 年 九 月 十 一 日 2

深圳市新亚电子制程股份有限公司

黄 金 原 油 总 持 仓 增 长, 同 比 增 幅 分 别 为 4.2% 和 4.1% 而 铜 白 银 以 及 玉 米 则 出 现 减 持, 减 持 同 比 减 少 分 别 为 9.4%,9.4% 以 及 6.5% 大 豆, 豆 粕 结 束 连 续 4 周 总 持 仓 量 增 长, 出 现 小 幅

桂 林 理 工 大 学 611 分 析 化 学 ( 含 仪 器 分 析 40%) 全 套 考 研 资 料 <2016 年 最 新 考 研 资 料 > 2-2 分 析 化 学 笔 记, 此 笔 记 为 高 分 研 究 生 复 习 所 用, 借 助 此 笔 记 可 以 大 大 提 高 复 习 效 率,

课程类 别

精 勤 求 学 自 强 不 息 Born to win! 解 析 : 由 极 限 的 保 号 性 知 存 在 U ( a) 当 a 时 f ( ) f ( a) 故 f ( ) 在 点 a 不 取 极 值 f ( ) f ( a) f ( ) f ( a) lim lim a a a a ( a)

2. 本 次 修 改 后, 投 资 者 申 购 新 股 的 持 有 市 值 要 求 市 值 计 算 规 则 及 证 券 账 户 使 用 的 相 关 规 定 是 否 发 生 了 变 化? 答 : 未 发 生 变 化 投 资 者 申 购 新 股 的 持 有 市 值 是 指, 以 投 资 者 为 单 位

DLJ1.nps

3 复 试 如 何 准 备 4 复 试 成 绩 计 算 5 复 试 比 例 6 复 试 类 型 7 怎 么 样 面 对 各 种 复 试 04 05

中 日 信 息 化 的 比 较 与 合 作 一 中 日 信 息 化 的 规 模 比 较

马 克 思 主 义 公 正 观 的 基 本 向 度 及 方 法 论 原 则!! # #

正 规 培 训 达 规 定 标 准 学 时 数, 并 取 得 结 业 证 书 二 级 可 编 程 师 ( 具 备 以 下 条 件 之 一 者 ) (1) 连 续 从 事 本 职 业 工 作 13 年 以 上 (2) 取 得 本 职 业 三 级 职 业 资 格 证 书 后, 连 续 从 事 本 职 业

第三章 作业

内 容 二 : 建 立 并 完 善 了 三 点 的 网 络 教 学 管 理 体 系 内 容 三 : 注 重 培 养 学 生 的 听 说 能 力 14

<4D F736F F D C4EAB9A4B3CCCBB6CABFCAFDD1A7D7A8D2B5BFCEBFBCCAD4B4F3B8D9D3EBD2AAC7F3>

IntelBook_cn.doc

<4D F736F F D20BFC9B1E0B3CCD0F2BFD8D6C6CFB5CDB3C9E8BCC6CAA6B9FABCD2D6B0D2B5B1EAD7BC2E646F63>

一 六 年 级 下 册 教 科 书 总 体 说 明 ( 一 ) 教 学 内 容 本 册 教 科 书 一 共 安 排 了 5 个 教 学 单 元, 其 中 前 4 个 单 元 为 新 知 识, 第 五 单 元 是 对 整 个 小 学 阶 段 所 学 数 学 知 识 系 统 的 整 理 和 复 习

一 公 共 卫 生 硕 士 专 业 学 位 论 文 的 概 述 学 位 论 文 是 对 研 究 生 进 行 科 学 研 究 或 承 担 专 门 技 术 工 作 的 全 面 训 练, 是 培 养 研 究 生 创 新 能 力, 综 合 运 用 所 学 知 识 发 现 问 题, 分 析 问 题 和 解 决

Template BR_Rec_2005.dot

这 对 大 兔 都 要 繁 殖 于 是 第 个 月 就 比 第 个 月 增 加 了 对 兔 这 样 我 们 就 有 这 是 一 个 连 续 三 个 月 的 兔 子 对 数 之 间 满 足 的 关 系 式 我 们 又 注 意 到 第 个 月 和 第 个 月 都 只 有 一 对 兔 也 就 是 说!!

全国建筑市场注册执业人员不良行为记录认定标准(试行).doc

特 殊 古 典 几 何 定 义 频 率 定 义 公 理 化 定 义 输 光 得 分 问 题 随 机 试 验 所 有 可 能 结 果 为 有 限 个 等 可 能 的 情 形 ; 将 等 可 能 思 想 发 展 到 含 无 穷 多 个 元 素 的 样 本 空 间 克 服 等 可 能 观 点 不 易 解

金 不 少 于 800 万 元, 净 资 产 不 少 于 960 万 元 ; (3) 近 五 年 独 立 承 担 过 单 项 合 同 额 不 少 于 1000 万 元 的 智 能 化 工 程 ( 设 计 或 施 工 或 设 计 施 工 一 体 ) 不 少 于 2 项 ; (4) 近 三 年 每 年

思 想 政 治 理 论 经 核 查 无 误 思 想 政 治 理 论 经 核 查 无 误 思 想 政 治 理 论 经 核 查 无 误 思 想

教师上报成绩流程图

第 四 条 建 设 单 位 对 可 能 产 生 职 业 病 危 害 的 建 设 项 目, 应 当 依 照 本 办 法 向 安 全 生 产 监 督 管 理 部 门 申 请 职 业 卫 生 三 同 时 的 备 案 审 核 审 查 和 竣 工 验 收 建 设 项 目 职 业 卫 生 三 同 时 工 作 可

 编号:

简 报 要 点 ESI 共 有 22 个 学 科 门 类, 江 苏 高 校 目 前 只 有 16 个 学 科 门 类 进 入 了 世 界 1%, 分 别 是 一 般 社 会 科 学 临 床 医 学 农 业 科 学 分 子 生 物 学 和 遗 传 学 动 植 物 科 学 化 学 地 球 科 学 工 程

·岗位设置管理流程


<433A5C C6B73625C B746F705CB9FABCCAD6D0D2BDD2A9D7A8D2B5B8DFBCB6BCBCCAF5D6B0B3C6C6C0C9F3C9EAC7EBD6B8C4CFA3A CDA8D3C3B0E6A3A92E646F63>

模 型 假 设 假 设 假 设 假 设 假 设 假 设 模 型 建 立 与 推 导

浙 江 海 洋 学 院 417 普 通 生 态 学 与 鱼 类 学 全 套 考 研 资 料 <2016 年 最 新 考 研 资 料 > 2-2 基 础 生 态 学 笔 记, 此 笔 记 为 高 分 研 究 生 复 习 所 用, 借 助 此 笔 记 可 以 大 大 提 高 复 习 效 率, 把 握 报

珠江钢琴股东大会

上证指数

火车浏览器脚本制作教程

0 年 上 半 年 评 价 与 考 核 细 则 序 号 部 门 要 素 值 考 核 内 容 考 核 方 式 考 核 标 准 考 核 ( 扣 原 因 ) 考 评 得 3 安 全 生 产 目 30 无 同 等 责 任 以 上 道 路 交 通 亡 人 事 故 无 轻 伤 责 任 事 故 无 重 大 质 量

<4D F736F F D DB9FAD5AEC6DABBF5B1A8B8E6CAAEC8FDA3BAB9FAD5AEC6DABBF5B5C4B6A8BCDBBBFAD6C6D3EBBBF9B2EEBDBBD2D7D1D0BEBF>

2 熟 悉 Visual Basic 的 集 成 开 发 环 境 3 了 解 可 视 化 面 向 对 象 编 程 事 件 驱 动 交 互 式 开 发 等 基 本 概 念 4 了 解 Visual Basic 的 特 点 环 境 要 求 与 安 装 方 法 1 Visual Basic 开 发 应 用

目 录 页 1. 欢 迎 使 用 网 上 预 约 面 谈 访 问 系 统 新 用 户 新 用 户 登 入 帐 户 程 序 启 动 网 上 预 约 面 谈 访 问 帐 户 核 对 帐 户 的 地 址 资 料

评 委 : 李 炎 斌 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

<4D F736F F D20CAAEC8FDCEE5B9E6BBAED7EED6D5B8E5352E33312E646F63>


云信Linux SSH认证代理用户手册

2008 年 金 融 危 机 爆 发, 我 们 发 现 世 界 主 要 国 家 都 在 做 一 件 事 情, 就 是 计 划 靠 制 造 业 拉 动 整 个 经 济 的 复 苏, 这 个 大 家 是 有 目 共 睹 的 制 造 业 在 中 国 来 说 也 是 拉 动 经 济 增 长 非 常 关 键

生产支援功能 使用说明书(IP-110 篇)


Operations Review September 14, 2006

C:Documents and SettingsAdministrator×ÀÃæºì±¦Êéд×÷·âÃæ.jpg.pdf


国际财务报告准则第13号——公允价值计量

Transcription:

[ 剑 指 offer] 面 试 题 43:n 个 骰 子 的 点 数 (Java) 题 目 : 把 n 个 骰 子 扔 在 地 上, 所 有 骰 子 朝 上 一 面 的 点 数 之 和 为 S 输 入 n, 打 印 出 S 的 所 有 可 能 的 值 出 现 的 概 率 分 析 : 一 般 来 说 骰 子 只 有 6 面, 点 数 为 1~6, n 个 骰 故 子 的 最 小 和 为 n, 最 大 和 为 6*n, 则 n 个 骰 子 的 点 数 之 和 出 现 的 频 数 可 以 用 一 个 数 组 来 保 存, 大 小 为 6*n-n 思 路 1: 最 直 接 的 方 法 是 求 出 n 个 骰 子 点 数 的 全 排 列, 然 后 一 一 计 算 其 和 值, 统 计, 最 后 算 出 每 个 和 值 的 概 率, 这 里 使 用 基 于 递 归 的 方 法 来 求 各 和 值 的 频 数. 先 把 n 个 骰 子 分 为 两 堆 : 第 一 堆 只 有 一 个, 另 一 个 有 n-1 个 单 独 的 那 一 个 有 可 能 出 现 从 1 到 6 的 点 数 我 们 需 要 计 算 从 1 到 6 的 每 一 种 点 数 和 剩 下 的 n-1 个 骰 子 来 计 算 点 数 和 接 下 来 把 剩 下 的 n-1 个 骰 子 还 是 分 成 两 堆, 第 一 堆 只 有 一 个, 第 二 堆 有 n-2 个 我 们 把 上 一 轮 那 个 单 独 骰 子 的 点 数 和 这 一 轮 单 独 骰 子 的 点 数 相 加, 再 和 剩 下 的 n-2 个 骰 子 来 计 算 点 数 和 Java 实 现 代 码 : public class PrintSumProbabilityOfDices { private int gmaxvalue = 6; public void probility(int orignal, int current, int sum, int[] probilities){ if(current == 1){

probilities[sum - orignal]++; else{ for(int i=1; i<= gmaxvalue; i++){ probility(orignal, current - 1, sum + i, probilities); public void probility(int number, int[] probilities){ for(int i=1; i<= gmaxvalue; i++){ probility(number,number, i,probilities); public void printprobability(int number){ if(number < 1) return; int maxsum = number * gmaxvalue; int[] probilities = new int[maxsum - number + 1]; probility(number, probilities); double total = Math.pow(gMaxValue, number); for(int i=number; i<= maxsum; i++){ double ratio = probilities[i - number] / total; System.out.println(i + ": " + ratio); public static void main(string[] args){ int number = 5; new PrintSumProbabilityOfDices().printProbability(number); 思 路 2: 基 于 循 环 求 骰 子 的 点 数, 这 样 避 免 了 很 多 重 复 的 计 算, 时 间 性 能 要 好 我 们 可 以 考 虑 用 两 个 数 组 来 存 储 骰 子 点 数 每 一 总 数 出 现 的 次 数 在 一 次 循 环 中, 第 一 个 数 组 中 的 第 n 个 数 字 表 示 骰 子 和 为 n 出 现 的 次 数 那 么 在 下 一 循 环 中, 我 们 加 上 一 个 新 的 骰 子 那 么 此 时 和 为 n 的 骰 子 出 现 的 次 数, 应 该 等 于 上 一 次 循 环 中 骰 子 点 数 和 为 n-1 n-2 n-3 n-4 n-5 与 n-6 的 总 和

Java 实 现 代 码 : public void printprobability_2(int number){ if(number < 1) return; int maxsum = gmaxvalue * number + 1; int[][] probilities = new int[2][maxsum]; int flag = 0; for(int i=1; i<=gmaxvalue; i++) probilities[flag][i] = 1; for(int i=2; i<= number; i++){ for(int j = 0; j<i; j++) probilities[1-flag][j] = 0; for(int j = i; j<=gmaxvalue * i; j++){ probilities[1-flag][j] = 0; for(int k=1; k<=j && k<=gmaxvalue; k++) probilities[1-flag][j] += probilities[flag][j-k]; flag = 1 - flag; double total = Math.pow(gMaxValue, number); for(int i=number; i< maxsum; i++){ double ratio = probilities[flag][i] / total; System.out.println(i + ": " + ratio); 考 点 总 结 :1. 考 察 数 学 建 模 能 力 能 否 想 到 用 数 组 建 立 一 个 简 单 的 哈 希 表 来 存 储 骰 子 点 数 和 值 的 频 数 2. 考 察 对 递 归 和 循 环 程 序 性 能 的 理 解 参 考 资 料 : 1. Offer 剑 指 名 企 面 试 官 精 讲 典 型 编 程 题 P223~226

[ 剑 指 offer] 面 试 题 42: 翻 转 单 词 顺 序 VS 左 旋 转 字 符 串 (Java) 题 目 : 输 入 一 个 英 文 句 子, 翻 转 句 子 中 单 词 的 顺 序, 但 单 词 内 字 符 的 顺 序 不 变 为 简 单 起 见, 标 点 符 号 和 普 通 字 母 一 样 处 理 例 如 输 入 字 符 串 I am a student., 则 输 出 "student. a am I". 实 现 代 码 public void reverse(char[] str, int start, int end){ System.out.println("tag XX"); if(str == null str.length < 2) return; int left = start; int right = end; while(left < right){ char tmp = str[right]; str[right--] = str[left]; str[left++] = tmp; public void reversesentence(char[] str){ if(str == null str.length < 2) return; reverse(str, 0, str.length - 1); int left = 0; int right = 0;

[ 剑 指 offer] 面 试 题 41: 和 while(left < str.length){ if(str[left] == ' '){ left++; right++; else if(str[right] == ' ' right == str.length - 1){ System.out.println("left:" + left + ",right:" + right); reverse(str, left, (right == str.length -1)?right:(right-1)); left = right + 1; right++; else{ right++; 其 实 这 道 题 如 果 只 是 打 印 出 翻 转 后 的 句 子, 或 者 允 许 使 用 O(n) 的 空 间, 那 么 可 以 使 用 递 归 或 者 分 配 栈 来 完 成 会 更 加 简 便 至 于 左 旋 转 字 符 串, 其 实 有 了 反 转 句 子 的 基 础, 解 答 起 来 就 十 分 简 单 了 为 s 的 两 个 数 字 VS 和 为 s

的 连 续 序 列 题 目 一 : 输 入 一 个 递 增 排 序 的 数 组 和 一 个 数 s, 字 在 数 组 中 查 找 两 个 数, 使 得 他 们 的 和 正 好 是 s, 如 果 有 多 对 数 字 的 和 等 于 s, 输 出 任 意 一 对 即 可 但 凡 搜 索 题, 一 般 都 可 以 通 过 暴 力 找 出 答 案, 但 那 样 的 解 往 往 会 令 不 会 帮 助 你 拿 到 心 仪 的 offer, 但 从 另 一 个 层 面 上 反 应 了 一 个 人 思 维 的 反 应 能 力, 在 输 入 规 模 较 少 的 情 况 下, 暴 力 也 不 是 不 能 解 决 问 题 这 道 题 的 暴 力 解 法 就 是 直 接 两 重 循 环, 遍 历 所 有 的 解, 时 间 复 杂 度 O(n^2) 能 O(n) 解 的 问 题,O(n^2) 的 解 法 显 然 无 法 得 到 面 试 官 的 青 睐 要 学 会 善 于 挖 掘 题 中 给 出 的 信 息, 递 增 排 序 的 数 组, 这 就 是 一 个 及 其 有 价 值 的 信 息 在 排 序 的 数 组 中, 一 般 会 想 到 二 分 来 搜 索 解, 因 为 二 分 的 解 法 可 能 只 会 需 要 O(logN) 的 时 间 的 复 杂 度 但 是 本 题 求 解 的 问 题 是 两 个 数 的 求 和, 也 可 能 不 会 只 有 一 个 解, 所 有 只 要 求 第 一 个 解, 这 样 不 宜 使 用 二 分, 而 是 使 用 双 指 针 来 解 答 这 道 题 思 路 是 定 义 两 个 指 针 ( 其 实 就 是 数 组 的 下 标 )left,right,left 指 向 开 始,right 指 向 数 组 最 后 一 个 元 素, 向 着 靠 拢 的 方 向 搜 索 第 一 个 可 能 的 解, 这 种 解 法 的 时 间 复 杂 度 是 O(n) 具 体 的 实 现 代 码 如 下 : index){ public boolean findnumberwithsum(int[] nums, int sum, int[] if(nums == null nums.length <2 index.length <2) return false; boolean tag = false; int left = 0; int right = nums.length - 1; while(left < right){ int s = nums[left] + nums[right]; if(s == sum){

index[0] = nums[left]; index[1] = nums[right]; tag = true; break; else if(s > sum){ right --; else{ left++; return tag; 题 二 : 输 入 一 个 正 数 s, 打 印 出 所 有 和 为 s 的 连 续 正 整 数 序 列 ( 至 少 含 有 两 个 数 字 ), 例 如 15, 由 于 1+2+3+4+5 = 4+5+6 = 7+8 = 连 续 序 列 1~5,4~6,7~8 作 为 题 一 的 变 型 题, 难 度 有 所 提 高, 但 是 在 题 一 的 启 发 下, 也 不 难 想 出 解 法, 题 目 的 求 解 可 以 转 化 为 在 含 有 n 个 无 重 复 元 素 的 有 序 数 组 里 求 解 问 题, 那 么 同 样 可 以 使 用 双 指 针 来 求 解 注 意 本 题 的 关 键 在 于 解 是 连 续 的 整 数 序 列, 所 有 我 们 从 数 组 ( 假 设 出 来 的, 其 实 不 存 在 ) 的 一 端 移 动 两 个 指 针 (left,right, left<=right), 相 当 于 在 两 个 指 针 之 间 维 护 了 一 个 长 度 可 变 的 窗 口, 然 后 根 据 窗 口 内 各 元 素 的 和 值 去 移 动 两 个 指 针, 显 然 left 指 针 不 能 大 于 (n+1)/2 实 现 代 码 如 下 : public List<List<Integer>> findcontinuoussequence(int sum){ List<List<Integer>> res = new ArrayList<List<Integer>>(); if(sum < 3) return res;

int rear = 1; int front = 2; int tsum = rear + front; int mid = (sum + 1) / 2; while(rear < mid){ if(tsum == sum){ List<Integer> tmp = new ArrayList<Integer>(); for(int i = rear; i<= front; i++){ tmp.add(i); res.add(tmp); front++; rear++; tsum += (front - rear + 1); else if(tsum > sum){ tsum -= rear; rear++; else{ front ++; tsum += front; return res;