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

品牌网站建设推荐大蝌蚪广点通官网

品牌网站建设推荐大蝌蚪,广点通官网,公司做网站流程,论坛网站备案流程图问题分析 输入一个字符串,判断这个字符串是否能按序组成“hello”。 思路分析 题目说的意思是任意删除字母,能否组成"hello",实际就是判断h、e、l、o的下标是否一个比一个大,同时看e和o之间是否有两个l。这里我使用了indexof函数&…

问题分析

        输入一个字符串,判断这个字符串是否能按序组成“hello”。

思路分析

        题目说的意思是任意删除字母,能否组成"hello",实际就是判断'h'、'e'、'l'、'o'的下标是否一个比一个大,同时看'e'和'o'之间是否有两个'l'。这里我使用了indexof函数,判断'h'的首次出现位置,确认有‘h’时就使用substring函数删掉前面的所有字符,再判断‘e’的位置,同理删除前面的所有字符,依次类推。这样就能保证四个字符按序出现,如果indexof函数返回值为-1,说明没有这个字符就输出NO并结束。同时可以用input.indexOf("l")!=input.lastIndexOf("l"),判断是否有两个‘l’。

代码

       

import java.util.*;public class Main {public static void main(String[] args)  {Scanner sc = new Scanner(System.in);String input = sc.nextLine();//输入值int h=input.indexOf("h");//获取h首次出现的位置if (h!=-1){//如果有hinput=input.substring(h);//截取h出现后的子字符串}else {//如果没有hSystem.out.println("NO");//输出noreturn;//并结束}int e=input.indexOf("e");//获取更新的子字符串的e首次出现的位置if (e!=-1){//如果有einput=input.substring(e);//截取e出现后的子字符串}else {//如果没有System.out.println("NO");//输出noreturn;//并结束}int l=input.indexOf("l");//获取更新的子字符串的l首次出现的位置if (l!=-1&&input.indexOf("l")!=input.lastIndexOf("l")){//如果l存在,且第一个l和最后一个l的位置不同,即至少有两个linput=input.substring(l);//截取l出现后的子字符串}else {//如果没有lSystem.out.println("NO");//输出noreturn;//并结束}int o=input.indexOf("o");//获取更新的子字符串的o首次出现的位置if (o!=-1){//如果有oSystem.out.println("YES");//构成“hello”,输出YES}else {//没有oSystem.out.println("NO");//失败,输出NO}}
}

         但是这么看来重复的代码有点多,你可以设定一个方法,通过调用解决反复冗杂的问题,也可以换一个方法

import java.util.*;public class Main {public static void main(String[] args)  {Scanner sc = new Scanner(System.in);String input = sc.nextLine();//输入字符串int index=input.indexOf("h");//用index统一定义某个字符首次出现的位置if (index==-1){//如果h不存在System.out.println("NO");//输出Noreturn;//结束}index=input.indexOf("e",index+1);//此处不使用截取,而是从h之后的位置计算e出现的位置if (index==-1){//如果e不存在System.out.println("NO");//输出noreturn;//结束}index=input.indexOf("l",index+1);//同理,上一个index之后计算l出现的位置if (index==-1||-1==input.indexOf("l",index+1)){//此处判断此时是否有一个l,同时判断还有没有下一个l,如果任一不存在就报错System.out.println("NO");//输出noreturn;//结束}index=input.indexOf("l",index+1);//更新第二个l的位置index=input.indexOf("o",index+1);//在第二个l的位置之后寻找oSystem.out.println(index==-1?"NO":"YES");//三目运算判断输出的值}
}

        但是这个题的示例有个bug,即使不判断h是否存在,都会通过,所有的示例中都会有h出现     

        感谢您能够看到这里,一起见证小何同学的算法学习,如果您有不同的见解,希望能得到您的指点和点悟;如果您是和我一样的同学,也希望这篇文章能对您有所帮助。

http://www.dtcms.com/wzjs/58016.html

相关文章:

  • 淘宝上的网站怎么做打开百度一下的网址
  • 网站建设款属不属于无形资产企业网站页面设计
  • 专门做外卖的网站在线数据分析网站
  • 十种营销方式广州seo运营
  • 东莞推广号站群优化公司
  • 免费域名注册解析关键词优化简易
  • 苍山网站建设seo职位具体做什么
  • 做婚礼网站的公司seo搜索引擎优化技术
  • 勒流网站建设制作免费建立自己的网站
  • 美乐乐网站模板谷歌google地图
  • 网站打开速度慢是什么原因百度百家号官网登录
  • 动态网站制作价格网络舆情监测系统软件
  • 最好看的网站模板电商平台推广公司
  • 公司网站选择什么空间网络关键词优化方法
  • 上海明鹏建设集团有限公司网站优帮云排名自动扣费
  • 城乡建设局官方网站北京百度总部电话
  • 人力资源网站怎么建设竞价排名机制
  • 孝感个人网站建设网络营销公司哪家好
  • 动漫人物做羞羞事的网站免费入驻的卖货平台有哪些
  • 网站运营难做吗国际新闻界官网
  • php网站开发实训实践总结郑州网站seo技术
  • 网站闭站保护2022年最新最有效的营销模式
  • 怎样在微信上做网站今日头条武汉最新消息
  • 网站建设专业知识应用杭州关键词排名工具
  • 有专门做电商网站的CMS吗正规拉新推广平台有哪些
  • 做国际网站的上海高端网站公司网络商城应该如何推广
  • 做招聘和求职都需要哪些网站重庆百度快速优化
  • 东莞网络销售的网站建设湖南seo优化价格
  • 钟表珠宝商城网站建设怎么在百度上发布信息
  • 网页布局图片网络优化器下载