楼主: Naldonado

[精华] 我也玩个游戏,我申请加精,求批准

[复制链接]
论坛徽章:
32
祖国60周年纪念徽章
日期:2009-10-09 08:28:002013年新春福章
日期:2013-02-25 14:51:24迷宫蛋
日期:2013-06-28 11:09:23ITPUB季度 技术新星
日期:2013-07-30 16:04:58优秀写手
日期:2013-12-18 09:29:132014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:09红孩儿
日期:2014-03-04 16:40:38美羊羊
日期:2015-02-16 16:36:28懒羊羊
日期:2015-03-04 14:52:11
41#
发表于 2016-5-25 20:33 | 只看该作者
我表示基本看不懂,有几个问题请教下:
1、怎么确定只能往前就能解决问题?或者说这个题目有多个解。
2、sql怎么做到每次最多只能跳过一只青蛙?

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
42#
发表于 2016-5-25 22:16 | 只看该作者
regonly1 发表于 2016-5-25 20:33
我表示基本看不懂,有几个问题请教下:
1、怎么确定只能往前就能解决问题?或者说这个题目有多个解。
2、 ...

1. 这不是确定,而是题目定的规则。这个题目确实有多个解。规则限定往前跳就减少了很多解法,SQL也快了很多。

2. 我的方法是用1,2表示青蛙, 0表示空位,青蛙和空位换位之后的新数字和原数字相减,比如1110222变成1101222,结果必定包含'9','18','99','198'之一,就限制了只能跳过一只。

使用道具 举报

回复
论坛徽章:
0
43#
发表于 2016-5-26 17:59 | 只看该作者
只是看看

使用道具 举报

回复
论坛徽章:
32
祖国60周年纪念徽章
日期:2009-10-09 08:28:002013年新春福章
日期:2013-02-25 14:51:24迷宫蛋
日期:2013-06-28 11:09:23ITPUB季度 技术新星
日期:2013-07-30 16:04:58优秀写手
日期:2013-12-18 09:29:132014年新春福章
日期:2014-02-18 16:43:09马上有钱
日期:2014-02-18 16:43:09红孩儿
日期:2014-03-04 16:40:38美羊羊
日期:2015-02-16 16:36:28懒羊羊
日期:2015-03-04 14:52:11
44#
发表于 2016-5-26 18:16 | 只看该作者
newkid 发表于 2016-5-25 22:16
1. 这不是确定,而是题目定的规则。这个题目确实有多个解。规则限定往前跳就减少了很多解法,SQL也快了很 ...

对于2的解决办法,确实没想到。

使用道具 举报

回复
论坛徽章:
0
45#
发表于 2016-5-29 16:01 | 只看该作者
真的是闲的蛋疼

使用道具 举报

回复
论坛徽章:
9
2011新春纪念徽章
日期:2011-02-18 11:43:33ITPUB 11周年纪念徽章
日期:2012-10-10 13:11:142013年新春福章
日期:2013-02-25 14:51:24秀才
日期:2016-06-23 14:15:06秀才
日期:2017-03-20 13:42:20秀才
日期:2017-03-28 15:11:09秀才
日期:2017-03-28 15:59:38秀才
日期:2017-04-06 18:09:28秀才
日期:2017-07-11 14:19:35
46#
发表于 2016-5-31 10:38 | 只看该作者
小伙子有点琢磨精神头

使用道具 举报

回复
论坛徽章:
0
47#
发表于 2016-6-8 09:32 | 只看该作者
3分钟我做出来了,可是我的年薪5万都不到。

使用道具 举报

回复
论坛徽章:
1
托尼托尼·乔巴
日期:2016-06-16 15:05:16
48#
发表于 2016-6-8 11:10 | 只看该作者
我也是来凑热闹的。

使用道具 举报

回复
论坛徽章:
19
马上有钱
日期:2015-05-19 13:10:34祖国60周年纪念徽章
日期:2009-10-09 08:28:00天蝎座
日期:2016-02-04 09:41:15狮子座
日期:2015-12-05 14:16:41秀才
日期:2015-08-24 09:44:20喜羊羊
日期:2015-06-26 13:39:302015年新春福章
日期:2015-03-06 11:57:31沸羊羊
日期:2015-03-04 14:51:52授权会员
日期:2013-02-27 20:53:20ITPUB十周年纪念徽章
日期:2015-09-11 12:10:52
49#
发表于 2016-6-23 11:18 | 只看该作者
都是大牛,年轻时对各种code有征服的欲望,现在彻底被CODE征服,看到就头痛。

使用道具 举报

回复
论坛徽章:
94
生肖徽章2007版:牛
日期:2012-08-02 22:43:00紫蛋头
日期:2012-12-08 09:43:38鲜花蛋
日期:2012-11-17 12:02:07鲜花蛋
日期:2013-02-05 21:53:34复活蛋
日期:2012-11-17 12:02:07SQL极客
日期:2013-12-09 14:13:35SQL数据库编程大师
日期:2013-12-06 13:59:43SQL大赛参与纪念
日期:2013-12-06 14:10:50ITPUB季度 技术新星
日期:2012-11-27 10:16:10最佳人气徽章
日期:2013-03-19 17:24:25
50#
发表于 2016-8-28 23:06 | 只看该作者
我实在是闲的蛋疼,周五不怎么又扫到了这个帖子,看到自己说了20行以内搞定。。。
回头翻楼,发现没有比我“短”的,争取保住又快又短。。。
这个超长substr是硬伤,但是还是没想到怎么用regexp_substr或者replace来搞定
with t as (
select round(2.5-level) pos, to_char(ceil(level/2)) c
from dual
  connect by level<=4
),
r (s, x_pos, path) as (
  select '222x111' s, 4, ''
  from dual
  union all
  select substr(replace(r.s, 'x', t.c), 1, x_pos+t.pos-1)||'x'||substr(replace(r.s, 'x', t.c), x_pos+t.pos+1), x_pos+t.pos, path||to_char(x_pos+t.pos)||'#'
  from t, r
  where 1=1
  and substr(r.s, x_pos+t.pos, 1)=t.c
  and x_pos+t.pos between 1 and 7
)
select *
from r
where s='111x222';

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表