摘要: 一:解题思路 这个题目没有太多复杂的算法,只是考虑以及考察的边界条件较多。 1.可以有前导空格或前导0,但不能有其他前导字符。 2.可能会有一个加号或减号表示正负,也可能没有,连续的多个加号或者减号则视为不合法。 3.紧接着是一段连续的数字,如果没有数字则视为不合法。 4.数字后的其他字符都可以忽略 阅读全文
posted @ 2020-04-06 21:53 repinkply 阅读(241) 评论(0) 推荐(0)
摘要: 一:解题思路 这个题目是二分搜索的一个变形题目。这个题目的解题关键在于将二维数组看做成一维数组,然后利用二分的思想不断的进行更新。matrix[r][c],r=mid/n,c=mid%n。其中n为数组的列数。Time:O(log(m*n)),Space:O(1) 二:完整代码示例 (C++版和Jav 阅读全文
posted @ 2020-04-06 17:47 repinkply 阅读(134) 评论(0) 推荐(0)
摘要: 一:解题思路 方法一:暴力破解,Space:O(n^2),Space:O(1),这种方法时间复杂度太大,容易引起超时。 方法二:双指针,Time:O(n),Space:O(1) 二:完整代码示例 (C、C++、Java、Python) 方法一C: int max(int a, int b) { re 阅读全文
posted @ 2020-04-06 17:12 repinkply 阅读(227) 评论(0) 推荐(0)
摘要: 一:解题思路 这个题目的解题关键有2点:1.任何时候写下左括号都是合法的。2.只有写下的左括号多于右括号的时候,再写下右括号才合法。 Time:O(4^n/n*sqrt(n)),Space:O(n) 二:完整代码示例 (C++版和Java版) C++: class Solution { public 阅读全文
posted @ 2020-04-06 16:13 repinkply 阅读(201) 评论(0) 推荐(0)
摘要: 一:解题思路 方法一:Time:O(n^2),Space:O(1) 方法二:Time:O(n^2),Space:O(1) 相同的Java程序改到C++却不能运行有点奇怪!还是把程序贴上。原因可能之后会想出来! 二:完整代码示例 (C++版和Java版) C++: 方法一: class Solutio 阅读全文
posted @ 2020-04-06 15:21 repinkply 阅读(168) 评论(0) 推荐(0)