leetcode
leetCode,nowCoder 上以及遇到的编程题记录
mango_54
这个作者很懒,什么都没留下…
展开
-
leetCode20: 有效的括号java实现
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例 4:输入: “([)]”输出: false示例 5:输入: “{[]}”输出: true使用栈来进行求解public c原创 2020-06-11 16:31:19 · 463 阅读 · 0 评论 -
分治策略-LeetCode解题java实现
2.1 基本概念在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题…直到最后子问题可以简单地直接求解,原问题的解即子问题的解的合并。这个技巧是很多高校算法的基础,如排序算法(快速排序,归并排序),傅里叶变换(快速傅里叶变换)…最优子结构是依赖特定问题和子问题的分割方式而成立的条件。各个子问题具有最优解,就能求出整个问题的最优解,此时条件成立。比如求广州到北京的最短距离,建设这个路径必经过中间的南京,那原创 2020-06-11 11:03:31 · 829 阅读 · 0 评论 -
递归思想-LeetCode解题java实现
1.1 递归介绍递归是一种编程技巧,一种解决问题的思维方式;严格来说,递归并不是一种算法。简单地说,就是如果在函数中存在着调用函数本身的情况,这种现象就叫递归。递归的思想就是,将大问题分解为小问题来求解,然后再讲小问题分解为更小的问题。这样一层一层的分解,直到问题规模被分解的足够小,不用继续分解,可以直接计算结果为止。如果把这个一层一层分解过程画成图,他其实就是一棵树。我们给这棵树起一个名字,叫做递归树。递归在”归”的过程中,符合后进先出的规则,所以需要用一个堆栈的数据结构。递归过程中函数调用会自原创 2020-06-09 20:28:45 · 387 阅读 · 0 评论 -
LeetCode 820: 单词压缩编码 Java实现
题目来源:力扣(LeetCode)820链接:https://leetcode-cn.com/problems/short-encoding-of-words给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A。例如,如果这个列表是 [“time”, “me”, “bell”],我们就可以将其表示为 S = “time#bell#” 和 indexes = [0, 2...原创 2019-12-27 11:20:52 · 5561 阅读 · 0 评论 -
牛客网----汽水瓶
题目来源:牛客网有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?...原创 2020-01-10 17:23:38 · 213 阅读 · 0 评论 -
牛客网----分糖果、分子弹
题目来源:牛客网根据士兵的成绩分配子弹,每个士兵至少分配一个子弹,相邻士兵成绩高的子弹个数一定要高于成绩差的返回要分配的子弹的最小个数...原创 2020-01-09 11:10:59 · 976 阅读 · 0 评论 -
LeetCode题库-Java语言实现
记录在LeetCode刷题的解题思路具体实现代码,大家可以一起交流原创 2019-12-30 13:30:35 · 536 阅读 · 0 评论