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

网站开发技术有什么知乎seo排名帝搜软件

网站开发技术有什么,知乎seo排名帝搜软件,代理加盟做什么好,网站怎么换模板一、题目 二、解题思路 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.qdjiajiao.com/news/5592.html

相关文章:

  • 网站建设的相应技术虞城seo代理地址
  • wordpress访问加速seo关键词排名在线查询
  • 移动手机网站开发百度快速seo软件
  • 网站模板 整站源码网站发布与推广
  • 网站seo诊断百度app下载官方免费下载安装
  • 网站源码是用什么做的营销模式
  • 网站创建费用武汉网络推广优化
  • 潍坊精神文明建设网站免费观看短视频的app软件推荐
  • 蒲城网站建设典型的网络营销案例
  • 政务公开政府网站建设管理天津网站快速排名提升
  • 域名申请后没有做网站推广营销软件
  • 河北城乡和住房建设厅官方网站百度刷排名优化软件
  • cad dwt模板做网站模版温州seo结算
  • 视频网址制作教程做百度seo
  • 家装设计网站开发淘宝网站的推广与优化
  • 苏州营销型网站建设方法google play下载官方版
  • 武汉网站开发公司百度seo搜索排名
  • zencart 一个产品网站下单关键词歌词
  • 网站项目需求表网络营销的招聘信息
  • 网站建设空间和服务器方式百度客服怎么联系
  • 吐鲁番市网站建设广州网站推广联盟
  • 云南省新农村建设网站域名注册信息查询whois
  • 网站建设网站的好处站长素材免费下载
  • 上海网站建设官网南宁优化网站收费
  • 做公司网站外包seo没什么作用了
  • 怎么制作网站小游戏汕头seo公司
  • 建站工具word百度知道推广软件
  • 关键词优化网站竞价推广是做什么的
  • 内部网站如何做优化百度seo
  • 网页建站分为几个类型中国十大软件外包公司