1 2 3 4 5 ··· 7 下一页
摘要: 307.区域和检索-数组可修改。定义一个类,可以接受一个数组,并提供修改其中某个值,以及计算一定范围内值的和两个方法。本质上这道题并不难,但是如果数组长度比较长,操作就有可能超时而报错。因此需要额外开辟一些空间,简化操作,尤其是求和操作,来降低时间复杂度。 基本思想就是实现用一些空间存储某些元素的中 阅读全文
posted @ 2021-04-05 10:14 小小的豪猪窝 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 241.为运算表达式设计优先级。给定一个合法的运算表达式,使用不同的运算优先顺序计算不同的结果。可以看作分治问题,每次选择一个运算符,将运算符两边的值计算出来后通过运算符计算出最终结果。需要注意的时候,遍历的时候对于不止一位的的数字,需要提前进行处理,比如python的话先转换成数组再运算,c++的 阅读全文
posted @ 2020-12-28 15:21 小小的豪猪窝 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 229.求众数II。给定一组数,找出其中出现次数超过总数三分之一的数字。这道题是求众数的一个进阶版本,求众数的时候,要降低时间复杂度,有一个方法叫投票法,即在遍历的过程中,维护一个候选人,遇到候选数就加一票,没有就减一票,候选数减到0后换新的候选人,直到遍历完成,最后的候选人即为众数。在这一题上,就 阅读全文
posted @ 2020-12-28 15:08 小小的豪猪窝 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 227.基本计算器。实现一个简单计算器功能,输入为复合运算规则的带有加减乘除的式子,给出运算结果。虽然以前上课讲过,但真的写题了才发现都不记得了基本思路就是遍历字符串,将数字和符号分开,数字压入栈中,然后根据不同的符号进行不同的运算。乘除号因为优先级高,遇到就直接进行运算,加号因为优先级低,只做进栈 阅读全文
posted @ 2020-11-16 19:10 小小的豪猪窝 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 223.矩形面积。给定两个矩形的左下角和右上角坐标,给出两个矩形的总面积。分析题目不难发现,这里的面积指两个矩形的面积减去重叠的面积(如果有重叠的话)。那首先就要判断是否有重叠以及重叠部分的大小。通过画图可以发现,重叠部分的坐标很容易得到,通过比较两个矩形的坐标,左下角坐标较大的x和y及右上角坐标较 阅读全文
posted @ 2020-11-10 11:03 小小的豪猪窝 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 199.二叉树的右视图。给定一个二叉树,给出从右边看这个二叉树时所能看到的所有结点的值。这道题不难,很容易想到通过层次遍历,即每次遍历一层,然后将每层最后一个节点的元素存到结果里去。可以在广度优先遍历的基础上,每次遍历时存储节点及节点的深度,然后将每个深度的最后一个值取出即为结果。 阅读全文
posted @ 2020-11-06 17:05 小小的豪猪窝 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 179.最大数。给定一个数字数组,返回排列组合之后数值最大的数字的字符串。这道题算是一个排序问题,只不过顺序不同与以往的单纯比大小。因为数组中数字位数不一致,如果单纯根据数字大小或者按位比较每个数,会比较麻烦,那么根据题意,如果x与y组合之后数值更大,那么x就应该在y之前,由此得到比较函数,然后通过 阅读全文
posted @ 2020-10-27 14:10 小小的豪猪窝 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 173.二叉搜索树迭代器。给一个二叉搜索树的根节点,构造出一个类对象,并实现next()和hasNext()方法。这种题还是第一回见,本身不是有多难。其实就是找个方式,能够将二叉搜索树保存的同时,简化迭代的过程。因为是二叉搜索树,每次迭代下一个元素就相当于升序遍历所有的元素,那么升序存储所有的元素就 阅读全文
posted @ 2020-10-24 20:44 小小的豪猪窝 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 151.翻转字符串里的单词。给定一个由单词和空格组成的字符串,符号也算在单词里,给出将单词调转顺序,且空格只在单词间出现一次的字符串。看到这道题第一反应就是按顺序读取单词,然后翻转拼接成结果。这样就没啥难度了,于是有了进阶的问题,将空间复杂度控制在O(1)。就是说尽量愿地修改。首先想到的是双指针,两边同时遍历,当都读完一个单词时将单词互换,直到指针相遇为止。单单这个想法本身并没有太大问... 阅读全文
posted @ 2020-10-21 09:47 小小的豪猪窝 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 139.单次拆分。给定一个单词和字典,检查单词是否可以通过字典里的元素线性组合而成。看到这个问题第一反应是通过回溯法,每次对单词开头进行查找,在字典里找到的话就将当前字减去,直到单词为空。本身算法并没有太大的问题,但是提交的时候碰到一些比较极端的用例会出现超时的情况。比如单词为aaaaaaaaaaaaaaaaaaab,字典为[a, aa, aaa, aaaa, aaaaa],此时如果进... 阅读全文
posted @ 2020-10-13 13:56 小小的豪猪窝 阅读(77) 评论(0) 推荐(0) 编辑
1 2 3 4 5 ··· 7 下一页