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

手机网站制作套餐长春网站提升排名

手机网站制作套餐,长春网站提升排名,wordpress 主题 中国风,织梦做的网站怎么上传视频教程一、题目 二、解题思路 1、我的思路 我看到题目之后&#xff0c;想着这可能是力扣里唯一一道我能秒杀的题目了 于是一波操作猛如虎写出了如下代码 public boolean isValid(String s) {char[] c s.toCharArray();for(int i0;i<c.length;i){switch (c[i]){case (:if(c[i]…

一、题目

二、解题思路

1、我的思路

我看到题目之后,想着这可能是力扣里唯一一道我能秒杀的题目了

于是一波操作猛如虎写出了如下代码

public boolean isValid(String s) {char[] c = s.toCharArray();for(int i=0;i<c.length;i++){switch (c[i]){case '(':if(c[++i]!=')')return false;break;case '[':if(c[++i]!=']')return false;break;case '{':if(c[++i]!='}')return false;break;}}return true;}

运行的时候三个测试用例都通过了,我心想这把稳了。信心满满地点击提交……

什么?!解答错误

嗷,那没事了,原来左括号后不一定跟的是右括号……这就回去重写

再仔细一思考,猛然回想起当时学数据结构的时候遇到过的括号匹配问题。这可能要用到栈,遇到左括号就让这个左括号进栈,遇到右括号就出栈一个括号,如果这两个括号能匹配就继续执行,反之则直接返回false

于是有了如下的代码,而且这段代码的运行效率竟然击败了98%的用户

char[] sc = s.toCharArray();Stack<Character> stack = new Stack<>();for(int i=0;i<sc.length;i++){switch (sc[i]){case '(':case '{':case '[':stack.push(sc[i]);break;default:if(stack.size()==0){return false;}switch(stack.pop()){case '(':if(sc[i]!=')')return false;break;case '{':if(sc[i]!='}')return false;break;case '[':if(sc[i]!=']')return false;break;}}}if(stack.size()!=0){return false;}return true;

 只不过我一开始没有考虑到循环中的

if(stack.size()==0){return false;
}

和循环结束的

if(stack.size()!=0){return false;
}

导致代码在测试 "[" 和 "]" 两个测试用例的时候都返回了错误的结果,还好力扣上可以看到出错的执行用例,所以我才能很快地找到问题

但是有很多算法竞赛是看不到执行出错的测试用例的,所以在打算法竞赛时,如果我们提交的代码出现了问题,不妨自己输入一些数据进行测试,而且要输入比较特殊的例子,如 "[" 和 "]" 这样的极端例子

2、官方题解

class Solution {public boolean isValid(String s) {int n = s.length();if (n % 2 == 1) {return false;}Map<Character, Character> pairs = new HashMap<Character, Character>() {{put(')', '(');put(']', '[');put('}', '{');}};Deque<Character> stack = new LinkedList<Character>();for (int i = 0; i < n; i++) {char ch = s.charAt(i);if (pairs.containsKey(ch)) {if (stack.isEmpty() || stack.peek() != pairs.get(ch)) {return false;}stack.pop();} else {stack.push(ch);}}return stack.isEmpty();}
}作者:力扣官方题解
链接:https://leetcode.cn/problems/valid-parentheses/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

三、栈

考虑到可能也有一些小伙伴不会用栈,在这里给大家科普一下(图片来源于《labuladong的算法笔记》)

http://www.wooajung.com/news/27023.html

相关文章:

  • 电商需要投资多少钱信息流优化师发展前景
  • 厦门的一个做设计的网站百度联盟一天多少收入
  • 余姚做网站设计的公司百度推广客服中心
  • 徐州网站平台制作公司软文媒体发稿平台
  • 海南最新政策重庆seo推广外包
  • wordpress页面瀑布流东莞seo整站优化火速
  • 重庆市建设安全管理网班级优化大师头像
  • 环保网站建设怎么做电商
  • 网站开发组播地址的作用成都网站seo诊断
  • 安装wordpressseo相关ppt
  • 网站举报中心官网搜索百度下载安装
  • 做女装的网站营销方案范文
  • 做网站怎么合并单元格seo顾问阿亮
  • 跨境独立站建站平台有哪些搜一搜
  • 咸宁做网站的公司免费手机网站自助建站
  • 织梦网站模板陶瓷seo牛人
  • 莆田网站建设解决方案网站前期推广
  • 大连网站建设比较好的公司成都网站推广哪家专业
  • 网站 为什么要备案比较靠谱的电商培训机构
  • wordpress作者墙主题seoyoon
  • 做网站公司 郑州百度推广app怎么收费
  • 生态农庄网站建设互联网销售是什么意思
  • 网络科技公司网站制作目录型搜索引擎有哪些
  • 做网站 插件淘宝指数查询官网手机版
  • 兼职做任务赚钱的网站有哪些数据分析师报考官网
  • 怎么看一个网站是否是外包做的色盲测试图免费测试
  • 中文域名做的网站有哪些在线葡京在线葡京
  • 网站页面外链怎么做武汉网站设计十年乐云seo
  • 网站前端设计图关键词文案生成器
  • 北京电子商务网站建设免费seo关键词优化服务