当前位置: 首页 > news >正文

会议响应式网站开发营销案例分享

会议响应式网站开发,营销案例分享,做册子模板素材有哪些网站,网站页面的滑动怎么做的大家好,我是星恒 今天的每一一题是一道简单题目,但是没能秒掉,原因就是题意理解不到位,边界问题没有判断清楚 不过这本来就是一个试错,迭代,积累经验的过程,加油加油,相信做多了&…

大家好,我是星恒

今天的每一一题是一道简单题目,但是没能秒掉,原因就是题意理解不到位,边界问题没有判断清楚
不过这本来就是一个试错,迭代,积累经验的过程,加油加油,相信做多了,自然就可以秒掉啦!

题目:
给你两个下标从 0 开始的整数数组 player1 和 player2 ,分别表示玩家 1 和玩家 2 击中的瓶数。
保龄球比赛由 n 轮组成,每轮的瓶数恰好为 10 。
假设玩家在第 i 轮中击中 xi 个瓶子。玩家第 i 轮的价值为:

  • 如果玩家在该轮的前两轮的任何一轮中击中了 10 个瓶子,则为 2xi 。
  • 否则,为 xi 。

玩家的得分是其 n 轮价值的总和。
返回

  • 如果玩家 1 的得分高于玩家 2 的得分,则为 1 ;
  • 如果玩家 2 的得分高于玩家 1 的得分,则为 2 ;
  • 如果平局,则为 0 。
    示例:
    示例 1:
输入:player1 = [4,10,7,9], player2 = [6,5,2,3]
输出:1
解释:player1 的得分是 4 + 10 + 2*7 + 2*9 = 46 。
player2 的得分是 6 + 5 + 2 + 3 = 16 。
player1 的得分高于 player2 的得分,所以 play1 在比赛中获胜,答案为 1 。

示例 2:

输入:player1 = [3,5,7,6], player2 = [8,10,10,2]
输出:2
解释:player1 的得分是 3 + 5 + 7 + 6 = 21 。
player2 的得分是 8 + 10 + 2*10 + 2*2 = 42 。
player2 的得分高于 player1 的得分,所以 play2 在比赛中获胜,答案为 2 。

示例 3:

输入:player1 = [2,3], player2 = [4,1]
输出:0
解释:player1 的得分是 2 + 3 = 5 。
player2 的得分是 4 + 1 = 5 。
player1 的得分等于 player2 的得分,所以这一场比赛平局,答案为 0 。

提示:

  • n == player1.length == player2.length
  • 1 <= n <= 1000
  • 0 <= player1[i], player2[i] <= 10

分析:
这道题最主要的事理解题意,注意他说的前两个元素为10,是说的任意元素的前两个元素
还有注意0,1的边界问题,要分类讨论,最后如果能合并就合并了

题解:
题解一:最无脑题解

class Solution {public int isWinner(int[] player1, int[] player2) {if (player1.length == 1) {if (player1[0] > player2[0]) {return 1;} else if (player1[0] < player2[0]) {return 2;} else {return 0;}}int score1 = sumScore(player1);int score2 = sumScore(player2);if (score1 > score2) {return 1;} else if (score1 < score2) {return 2;} else {return 0;}}public int sumScore(int[] player) {int score = 0;if (player[0] == 10) {score = player[0] + 2 * player[1];} else {score = player[0] + player[1];}for (int i = 2; i < player.length; i++) {if (player[i - 1] == 10 || player[i - 2] == 10) {score += 2 * player[i];} else {score += player[i];}}return score;}
}

优化:(两种方式的本质是一样的,只是第二种的写法更优雅!)

class Solution {public int isWinner(int[] player1, int[] player2) {int s1 = score(player1);int s2 = score(player2);return s1 == s2 ? 0 : s1 > s2 ? 1 : 2;}public int score(int[] player) {int res = 0;for (int i = 0; i < player.length; i++) {if ((i > 0 && player[i - 1] == 10) || (i > 1 && player[i - 2] >= 10)) {res += 2 * player[i];} else {res += player[i];}}return res;}

优化点:

  • 三重if如何使用 **条件运算符 **来表达
  • 边界0 和 1,如何更优雅的处理
    • 写出来后,看看能不能和主要处理函数合并
      • 0:当是0的时候,res 就是本身
      • 1:当是1的时候,两种情况(第一个为10,第一个不为10),如何判断呢,判断i - 1 是否为10
      • i > 0 && player[i - 1] == 10) || (i > 1 && player[i - 2] >= 10
      • 所以这个i > 0就很妙,一语双关,太妙了呀,不过说实话,不好想
    • 其实这里主要得到这个经验:
      • 当后面的计算和前两个有关时,一定要特殊判断第一个情况和第二个情况
http://www.tj-hxxt.cn/news/106677.html

相关文章:

  • 纯静态网站索引怎么做app推广项目
  • 服务器如何发布网站抖音推广运营公司
  • h5 做移动端网站网站seo优化教程
  • 网站首页模块如何做链接代运营公司排行榜
  • 通过输入域名访问自己做的网站百度知道app
  • 商贸公司名字推荐树枝seo
  • 嘉兴网课seo搜索引擎优化薪资水平
  • 如何查询网站备案进度查询百度百科合作模式
  • 绍兴市交通建设检测中心网站中文域名交易平台
  • seo综合查询怎么用搜索引擎排名优化seo
  • A级做爰片视频网站提高工作效率英语
  • 专业做网站优化网络工程师
  • 性是怎么做视频网站网页优化seo广州
  • 泰安房产网签成交数据武汉本地seo
  • 温州建设诚信网站seo内部优化方式包括
  • 九江市做网站的公司seo网站推广优化就找微源优化
  • 电子商务网站建设的目标是什么意思搜索引擎入口网址
  • 怎么做淘客的网站推广产品的方式有哪些
  • 做英文企业网站市场营销活动策划方案
  • 用身份证备案网站百度地图下载2022新版安装
  • 企业网上年检在网站怎么做郑州网站建设方案
  • 天眼企业查询系统官网seo外包费用
  • 网站做推广页需要什么软件下载seo优化推广业务员招聘
  • 网站怎么登陆后台百度竞价最低点击一次多少钱
  • 江西网站设计电话电商网站如何避免客户信息泄露
  • 中国域名门户网站广州百度网站推广
  • 哈尔滨网站建设唯辛ls15227南宁seo费用服务
  • 苏州网站建设学费中国突然宣布一重磅消息
  • 新网站先做外链还是内容五种网络营销推广方法
  • 哪里有好的网站代理推广