测试平台:

P8600 4G

目前看见最高效率的是夜咖啡的,我这里的数据是稳定在195-200ms上下。

然后是eaglet,基本是400ms

我这个代码稳定在170ms左右

我的这个代码主要思路

1、在原有数组外围增加一圈0,这样就降低了统计时候的复杂度

2、将一维字符串数组转换为一个字符串,其实这也是增加0的副产品,如果有朋友能维持一维字符串数组并增加0请告知一下

3、在最后的一维数组中直接用坐标计算方式算出当前位置的相关8个下标并直接计算

4、累加后统一减384,而不是每次减'0'字符

基本就这些特色了。

自己觉得比较有意思的特色是搞成一维数组来解决,呵呵。 其实看看大家的东西都能有不少收获的

少废话,上代码

static public int countSpecialNumbers(string[] field, int A, int B)
        {
            int count = 0;
            //因为加了一圈0以后整体行列数发生了变化
            int cols = field[0].Length+2;
            int rows = field.Length+2;
            
            //将原有一维字符串数组进行转换并增加0
            string s=string.Concat(new string('0', cols + 1), String.Join("00", field), new string('0', cols + 1));
 
            int number;
            int up, down;
            int cur;
            int i, j;
            //分别从1开始循环并到新的行列-1处终止,仅计算需要计算的
            //不循环外圈的0
            for ( i = 1; i < rows-1; i++)
            {
                for ( j = 1; j < cols-1; j++)
                {
                    //cur,当前位置
                    cur = i * cols + j;
                    //上一行位置
                    up = cur - cols;
                    //下一行位置
                    down = cur + cols;
                    number = s[up - 1] + s[up] + s[up + 1] + s[cur - 1] + s[cur+ 1] + s[down - 1] + s[down] + s[down + 1] - 384;
                    if (number >= A && number <= B)
                    {
                        count++;
                    }
                }
            }
            return count;
        }

转载于:https://www.cnblogs.com/Chinese-xu/archive/2009/06/04/1495951.html

有道难题第一题非OO解,极端记录160ms相关推荐

  1. 有道难题,我的OO解法

    本文背景是下面3篇文章: "有道难题"之ealget的算法 看有道难题比赛有恶心感 ,付源码挑战,博客园目前纯速度最快. 有道难题之OO 正文: 第一个类是Cell类(萝卜坑): ...

  2. 也谈网易“有道难题”在线解谜游戏

    今天下午忙活了一下午,参考各种资料,终于搞定了5-3到5-9的"有道难题"在线解谜游戏. 把解答列出来,方便以后回顾回顾. 答案有很多版本,有简单的有详细的. 简单的版本如下:(摘 ...

  3. 判断手势_科目一题库里的4道难题,拿不到满分也正常,交警手势不好判断

    品牌宣传.产品推广,覆盖全国,日曝光量千万+,7500+公众号广告招商进行中,点击进入了解详情 点击上面蓝字即可关注↑点击右上角分享到朋友圈 现在很多人都在考取驾驶证,在考证的过程中,学员就需要经历四 ...

  4. c语言奥林匹克大赛真题,全球首发!1-58届国际数学奥林匹克真题及解析大合集,350道必刷、必看、必收藏的巅峰之题与巧解妙解......

    在数学竞赛的江湖中, 被无数人称为解题大师的单墫教授曾说:"学数学的目的,就是为了学会解题,在这个过程中,去巩固所学的知识,提高能力,更好更多的去掌握数学的内容.意义和方法, 而这个过程很重 ...

  5. java 字符串编程题_Java编程题——在一个字符串中查找第一个非重复的字符

    编写一个Java程序来查找一个字符串中第一个非重复的字符,这是在编程测试中很常见的一个问题,因为字符串处理在程序员面试中是一个普遍的话题.面试前最好是准备好一些熟知的编程问题,例如使用递归反转字符串, ...

  6. Java面试一百道题目(第一题)-什么是面向对象,谈谈你对面向对象的理解

    Java面试一百道题目(第一题) 1,什么是面向对象,谈谈你对面向对象的理解. 思路:用面向过程和面向对象做对比来突出什么是面向对象. 答:高级语言分为,面向对象语言和面向过程语言,面向过程语言,距离 ...

  7. 2017 计蒜之道 初赛 第一场 A题B题

    阿里九游开放平台近日上架了一款新的益智类游戏--成三棋.成三棋是我国非常古老的一个双人棋类游戏,其棋盘如下图所示: 成三棋的棋盘上有很多条线段,只能在线段交叉点上放入棋子.我们可以用坐标系来描述棋盘: ...

  8. 500道逻辑训练题 弱爆了

    逻辑思维训练500题 正文前序:思维训练让你更高.更强! 前 言 第一章 假设法 第二章 计算法 第三章 排除法 第四章 分析法 第五章 观察法 第一章 假设法 一个真实的假设往往可以让事实呈现眼前, ...

  9. JAVA 判断简单密码算法_十道简单算法题二【Java实现】

    前言 清明不小心就拖了两天没更了-- 这是十道算法题的第二篇了-上一篇回顾:十道简单算法题 最近在回顾以前使用C写过的数据结构和算法的东西,发现自己的算法和数据结构是真的薄弱,现在用Java改写一下, ...

最新文章

  1. 2.18 Logistic 损失函数的解释-深度学习-Stanford吴恩达教授
  2. java思考笔记——遍历Map-key的几种方法
  3. python中回车怎么表示_如何在python中使用读取行仅拆分回车符?
  4. 惠普打印机怎么无线连接电脑_惠普打印机连不上无线?怎么解!
  5. VS工作笔记-C++在release模式下可以进行调试
  6. react学习预备知识_在10分钟内学习React基础知识
  7. jar包中的类如何读取包内和包外的配置文件
  8. mac iterm 怎么搜索不能输入_Mac高效开发之iTerm2、Prezto和Solarized主题
  9. python实现一款编译型语言_Java,Python谁是编译型语言,谁是解释型语
  10. mysql视图默认校对规则_MySQL 校对规则
  11. 数据库系统原理与应用教程(031)—— MySQL 的数据完整性(四):定义外键(FOREIGN KEY)
  12. 寒假集训大作业(一)
  13. CnOpenData中国上市公司全部公告数据
  14. 11.28计算机导论课后总结
  15. HTML期末大作业 使用HTML+CSS制作科技文化主题网站(航天之路)
  16. 【营销获客三】信贷细分客群研究——小微企业主
  17. 走进沃尔玛物流EDI
  18. python笔记-6(import导入、time/datetime/random/os/sys模块)
  19. selenium获取京东前三页奶瓶信息
  20. 电脑坏了--关于联想笔记本声卡驱动

热门文章

  1. linux在线聊天报告,EChat: Linux下基于命令行的在线聊天系统
  2. 怎样把照片中的头像扶正_微信头像用对了,2020运气差不了
  3. 波卡生态跨链隐私中间件协议Raze Network将于4月中旬开启IDO和LBP
  4. Uniswap 24h交易量约6.54亿美元涨18.05%
  5. SAP License:选择ERP系统的诀窍
  6. SAP License:SAP自学SAP常见的问题二
  7. SAP License:再论分摊与分配(含实例)
  8. 线上风控与数据埋点三部曲(一)——流量江湖不是处女地,投放渠道需谨慎
  9. 风险策略中的五层决策
  10. HIVE高级函数--get_json_object()和json_tuple()