![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
每日做题
fighting_work
这个作者很懒,什么都没留下…
展开
-
括号与栈
有效的括号今天看数据结构与算法的笔记的时候,正好学到栈,他里边提到了用栈来实现括号的匹配的举例,所以今天就决定做这道题了,虽然之前想的是今天做动态规划的总结,但是不得不说研究生的课程真的很难啊,今天一直在看课程相关的,就没时间了。我们来看一下运用栈来做括号的匹配工作,从第一个括号开始应该是左括号,入栈,然后向后开始进行比较匹配,如果下一个还是左括号,压入栈内;如果是右括号,加入是和栈顶的括号相匹配,那么就可以把栈顶的元素出栈,如果不匹配或者是在做匹配比较的操作的时候发现栈空了,就说明出现了错误,不合法,原创 2020-09-19 21:01:58 · 425 阅读 · 0 评论 -
回文数
回文数最简单的办法就是将已有的数字反转,然后对比原来的数字和现在的数字是否相等,相等的话就是回文数,不相等就说明不是回文数。当然在x小于0的情况出现时,一定是不符合回文数的条件的,而等于0的时候是符合的,这样我们就可以对其进行先决判断。代码如下if(x < 0 || x / 10 == 0) return false; if(x == 0) return true; int temp = x; long reverse = 0; wh原创 2020-09-18 22:44:32 · 117 阅读 · 0 评论 -
Z
z字形变换这个是一道关于字符串的题目,就是相当于将一段已知的字符串按照要求排列进行重新排列。题目中的要求就是按照z字形对字符串进行摆放,然后再按照行数进行读取,得到新的字符串每一行在取到下一个元素的时候与原来元素在旧的字符串中的位置下标的关系推导大概如下:以numRows = 4 为例;第一行的下标应该是0–6--12–18–,这中间的间隔一直都是6第二行的下标应该为1–5--7–11–13–,间隔是4-2-4-2第三行的下标为2–4--8–10–14–,间隔就变成了2–4--2–4第四行的下原创 2020-09-17 20:07:51 · 126 阅读 · 0 评论 -
反转
复杂度学习笔记原创 2020-09-17 08:37:05 · 136 阅读 · 0 评论 -
字符串
无重复字符串的最长子串今天做的是查找字符串中不含有重复字符的最长的子串的长度,是对字符串的操作,主要有以下几种方法,参考别人的答案写的,希望自己有一天也可以不用看答案也能自己写出来,加油!分析这个题目,想要找到相应的子串就必须自己找到他的头和尾,然后记录这个子串的长度,在不断循环中会找到很多个含有不同字符的子串,就需要不断地对比,将比较大的长度数值存入到结果当中就可以得到最终的结果。首先呢,我们现要定义一些变量,他们分别表示的是子串的头和尾,以及子串的长度和最终结果长度然后,我们就可以进行循环在整个原创 2020-09-15 13:48:48 · 108 阅读 · 0 评论 -
第一天,加油
1.力扣题库–两数之和题目理解:按照题目描述,其中符合条件的应该只有一组,参考题解后学会了一下三种办法:第一种:暴力解决法,刚开始想到的就是暴力法,因为没有基础,思维比较简单,但是其缺点是他的复杂度比较高,时间复杂度为----,空间复杂度为----由于其比较简单易懂所以自己写了一下:vector<int> ans;//用来存储结果i,jfor(int i = 0; i < nums.size(); i++){//nums.size()是获取数组中究竟有多少个元素 for(in原创 2020-09-13 21:25:56 · 82 阅读 · 0 评论 -
开学啦
2.力扣题库—两数相加这个题目的知识点是对链表的操作,把一个多位数灿在链表内,从低位开始存入,一次后边存放的是高位数字。把两个链表中的数字相加,我们要的是相加的结果,存在一个新的链表中。相加的过程中按照数学来说有结果位和进位,就是加和的结果除10的余数是结果,商就是进位。整个执行的过程如下分两种情况:①有一个数是0,那就可以直接返回另一个数所在的链表,也就是if(l1->val == 0 && !l1->next) return l2;if(l2->val ==原创 2020-09-14 12:03:58 · 61 阅读 · 0 评论