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

教人做衣服的网站南京科技网站设计费用

教人做衣服的网站,南京科技网站设计费用,教做糕点的网站,wordpress 媒体分类leetcode题目有效的括号#xff0c;分类是easy#xff0c;但是博主前前后后提交了几十次才通过#xff0c;现在记录一下使用Java语言的写法。 题目链接: 20.有效的括号 题目描述#xff1a; 给定一个只包括 (#xff0c;)#xff0c;{#xff0c;}#xff0c;[分类是easy但是博主前前后后提交了几十次才通过现在记录一下使用Java语言的写法。 题目链接: 20.有效的括号 题目描述 给定一个只包括 (){}[] 的字符串 s 判断字符串是否有效。有效字符串需满足 1.左括号必须用相同类型的右括号闭合。 2.左括号必须以正确的顺序闭合。 3.每个右括号都有一个对应的相同类型的左括号。题目示例 示例 1 输入s () 输出true示例 2 输入s ()[]{} 输出true示例 3 输入s (] 输出false题目提示 1. s.length 104 2. 仅由括号 ()[]{} 组成题目解读 每个左括号都要有成对的右括号成对的含义是 1属于()、[]、{}中的任意一对 2中间不存在其他字符比如() 3中间存在其他成对的字符比如({[]})示例图 一、 递归 基于以上的理解博主最初选择使用递归消除字符的做法。只要左右相邻的字符成对就将其消除递归至LinkedHashMap的长度为0或不再出现可消除的字符。 思路 1使用LinkedHashMap保存入参用例中的所有字符。 2遍历LinkedHashMap在存在相邻两个元素符合成对匹配条件时将这两个元素记录下来在一次遍历结束后从LinkedHashMap中移除。 3当LinkedHashMap长度为0或者在一次遍历中没有产生新的待删除的元素则跳出循环。 4当最终LinkedHashMap长度为0时说明全部匹配成功。class Solution {public boolean isValid(String s) {boolean res false;char[] charArray s.toCharArray();if (charArray.length % 21) {return res;}HashMapInteger, String linkedHashMap new LinkedHashMap();for (int i 0; i charArray.length; i) {linkedHashMap.put(i, String.valueOf(charArray[i]));}ListString leftList Arrays.asList((, [, {);ListString rightList Arrays.asList(), ], });// 当map中全部消除完或上一轮没有可消除的值时跳出循环int lastIndex 0;ListInteger removeKeys new ArrayList();while (!linkedHashMap.isEmpty()) {removeKeys new ArrayList();for (Integer key : linkedHashMap.keySet()) {int pos new ArrayListInteger(linkedHashMap.keySet()).indexOf(key);// 从第二个开始跟前面的比较前面取最新的linkedMap的第一个不是key0if (pos 0) {if (leftList.contains(linkedHashMap.get(lastIndex)) rightList.contains(linkedHashMap.get(key)) (leftList.indexOf(linkedHashMap.get(lastIndex)) rightList.indexOf(linkedHashMap.get(key)))) {// 删除对应位置removeKeys.add(lastIndex);removeKeys.add(key);linkedHashMap.put(lastIndex, 0);linkedHashMap.put(key, 0);}}// 保存上一个key的值lastIndex key;}if (!removeKeys.isEmpty()) {removeKeys.forEach(linkedHashMap::remove);} else {break;}}if (linkedHashMap.isEmpty()) {res true;}return res;}}该做法可以计算正确但在遇到以下测试用例时惨遭Time Limit Exceeded 。 String s [([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([([()])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])])];该测试用例长度为7000以递归消除元素的方法需要递归遍历几千次速度非常的慢。那么提高速度最好的办法就是减少遍历次数。 二、栈 在评论区看了一圈发现大佬们的基本都是用栈来解决。 但是博主平时基本不使用栈这种数据结构对栈的了解仅停留在以下层面。 栈Stack是一种常见的数据结构具有后进先出LIFOLast In First Out的特性即最后入栈的元素最先出栈。所以依然选择使用熟悉的LinkedHashMap去实现LIFO这一行为。在加入LinkedHashMap前先判断是否与末尾的元素匹配再决定后续的操作。仅需要遍历一次就可以完成所有的匹配判断。 思路 1遍历入参的字符数组。 2如果linkedMap长度为空当前字符直接加入作为第一个字符。 3如果linkedMap长度不为空取末尾元素与当前元素进行匹配。匹配成功将末尾元素消除弹出匹配失败将当前元素加入linkedMap压入 4字符数组遍历结束后如果linkedMap为空说明全部匹配。class Solution {public boolean isValid(String s) {boolean res false;char[] charArray s.toCharArray();if (charArray.length % 21) {return res;}ListString leftList Arrays.asList((, [, {);ListString rightList Arrays.asList(), ], });// 栈一个一个往堆栈里填入如果跟前一个匹配就双双丢出HashMapInteger, String linkedHashMap new LinkedHashMap();for (int i 0; i charArray.length; i) {String s1 String.valueOf(charArray[i]);// 当前linkedMap中的排列的第一位if (i 0 || linkedHashMap.isEmpty()) {if (rightList.contains(s1)) {return false;}linkedHashMap.put(i, String.valueOf(charArray[i]));} else {int lastPos new ArrayListInteger(linkedHashMap.keySet()).get(linkedHashMap.size()-1);// 判断跟linkedMap中最新一位元素是否匹配String lastS1 linkedHashMap.get(lastPos);if (leftList.contains(lastS1) rightList.contains(s1) (leftList.indexOf(lastS1) rightList.indexOf(s1))) {// 匹配成功不加入linkedMap并且将前一个元素从map中移除弹出linkedHashMap.remove(lastPos);} else {// 不匹配将该元素加入linkedMap中压入linkedHashMap.put(i, String.valueOf(charArray[i]));}}}// 全部消除完毕才是通过if (linkedHashMap.isEmpty()) {res true;}return res;} }不过在使用LinkedHashMap时也碰到了一些问题因为元素可以随意移除所以key的排序不是连续的12345等。需要将key转为ArrayList再通过ArrayList.get()方法获取最新一位元素key。
http://www.hkea.cn/news/14275514/

相关文章:

  • 好看的手机网站布局微网站开发教材
  • 欧赛科技网站建设商务网站模板
  • 软件公司网站设计网站网格
  • 汉唐皓月网站推广方案上海外贸公司最新招聘
  • 大兴网站建设一条龙东莞最好的网站
  • 怎么把个人做的网站上传到网上官方网站建设需要哪个部门审批
  • 企业网站系统有哪些网架公司办公室规章制度范本
  • 网站查询工具ps制作网站首页界面
  • 宁德企业网站建设南通设计网站建设
  • 一条龙搭建网站高端网站的建设
  • 网站开发的技术问题虚拟主机销售网站源码
  • 海口模板建站哪家好wordpress all in one seo pack
  • 网站的动态新闻数据库怎么做石家庄智能模板建站
  • a站为什么不火了给城市建设提议献策的网站
  • 营销型网站建设一般包含哪些内容可以商用的图片网站
  • 杭州市建设监理协会网站外包网站设计
  • PHP网站新闻发布怎么做VM2008 做网站
  • 建站公司要不要承担网站被黑开源app开发工具
  • wordpress精美网站网站百度收录很多
  • 用dw做旅游的网站的设计做电器推广的网站
  • 做网站哪家最好公司网站在百度搜不到
  • 无锡建站模板系统app制作开发公司收费
  • 网站备案咨询页面设计尺寸规范
  • 数据管理网站模板网站制作需要哪些软件
  • 嵩明建设局网站东莞网络推广
  • 网站做专题各大网站发布
  • 潍坊市建设一体化平台网站设计图片素材网站有哪些
  • 做网站设计可以参照别人的么做网站多大
  • 交互 网站怎么在百度上制作自己的网站
  • 和县网站定制做网站公司济南