要回国了,写个简单的总结吧。

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投
内推多家公司面试
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
把贵司招聘信息放这里
系统
27秒前
系统
49秒前
全站
Warald 说: MemorialDay大礼包之四:【新功能】主题列表页显示图片,欢迎上图
1分钟前
系统
1分钟前
系统
4分钟前
系统
6分钟前
系统
8分钟前
系统
8分钟前
系统
8分钟前
系统
10分钟前
全站
10分钟前
系统
11分钟前
系统
14分钟前
系统
14分钟前
系统
14分钟前
系统
15分钟前
系统
15分钟前
全站
Warald 说: MemorialDay大礼包之二:【新功能】论坛开启用户全局威望值,每楼右上方均可投票。
42分钟前
全站
Warald 说: MemorialDay大礼包之一:【新功能】发帖后,可以邀请朋友参与讨论(自动功能)
49分钟前
查看: 3455|回复: 6
收起左侧

[算法题] lintcode Find Peak Element II 一问

[复制链接] |试试Instant~ |关注本帖
我的人缘0
oio14644 发表于 2015-5-27 13:22:16 | 显示全部楼层 |阅读模式
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
本帖最后由 oio14644 于 2015-5-27 13:54 编辑

file:///C:/Users/WEIWAN~1/AppData/Local/Temp/%W@GJ$ACOF(TYDYECOKVDYB.png原题在这里
http://www.lintcode.com/en/problem/find-peak-element-ii/
参考别人的答案,自己鼓捣一个出来,能通过,但是不是很理解
if (A[i+1][j] > A[j+1]) {
i++;
}else {
j++;
}
这一段,
谁能给解释一下?谢谢

class Solution {
    /**
     * @param A: An integer matrix
     * @return: The index of the peak
     */
    public List<Integer> findPeakII(int[][] A) {
    List<Integer> res = new ArrayList<Integer>();
                if (A == null || A.length == 0 || A[0].length == 0) {
                    return res;
                }
                int row = A.length-1;
                int col = A[0].length-1;
                int i = 1;
                int j = 1;
                while (i < row && j < col) {
                                if (A[i-1][j] < A[j] && A[i+1][j] < A[j]
                                 && A[j+1] < A[j] && A[j+1] < A[j]) {
                                        res.add(i);
                                        res.add(j);
                                        return res;
                                }else
                                if (A[i+1][j] > A[j+1]) {//这是为什么?
                                        i++;
                                }else {
                                        j++;
                                }
                        }
                return res;
    }
}
  




上一篇:二分查找的边界以及返回值问题
下一篇:Word Ladder
我的人缘0
sqzqkd 发表于 2015-8-2 07:08:35 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
这题最好的时间复杂度确实是O(n+m),http://courses.csail.mit.edu/6.006/spring11/lectures/lec02.pdf, 这里有比较清楚的解释和复杂度计算。每次缩小1/4就行。程序写出来有点小长,但是可以AC。

评分

1

查看全部评分

回复 支持 1 反对 0

使用道具 举报

全球28万学生4.7分推荐
我的人缘0
kittycerry 发表于 2015-6-23 23:17:16 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
这个正是我昨天问的那个
回复 支持 反对

使用道具 举报

我的人缘0
senarukana 发表于 2015-6-27 20:22:09 | 显示全部楼层
答案是错的,case不够强而已。
比如下面这个
{
        {1, 2, 2, 1},
        {2, 3, 4, 2},
        {2, 2, 5, 3},
        {1, 8, 6, 2},
        {0, 2, 1, 0}
}
回复 支持 反对

使用道具 举报

我的人缘0
kittycerry 发表于 2015-6-27 23:41:24 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
senarukana 发表于 2015-6-27 20:22
答案是错的,case不够强而已。
比如下面这个
{

有什么好的答案推荐么?谢谢!!
回复 支持 反对

使用道具 举报

我的人缘0
liux0611 发表于 2015-7-2 23:03:02 | 显示全部楼层
senarukana 发表于 2015-6-27 20:22
答案是错的,case不够强而已。
比如下面这个
{

你这个case是错的,题目说明相邻数字不能相同
回复 支持 反对

使用道具 举报

我的人缘0
stellari 发表于 2015-7-3 09:50:03 | 显示全部楼层
  此人很可信:
 
0% (暂未有人投票) 【我投】
  此人瞎逼逼:
 
0% (暂未有人投票) 【我投】
liux0611 发表于 2015-7-2 23:03
你这个case是错的,题目说明相邻数字不能相同

确实,但是这个例子试图说明的论点依然是成立的。只要简单地把周围一圈数字换成任意的不重复的非常小的数字即可。
回复 支持 反对

使用道具 举报

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-5-27 13:46

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表