算法每日一题
dp_huang
这个作者很懒,什么都没留下…
展开
-
LeetCode-- Longest Common Prefix
问题这个题,leetcode给的信息很少。题目本身是要求一组字符串的相同的前缀(Prefix)。分析这个问题,看起来简单,实际上各种边界条件多,坑多。笔者花了一点时间才完全在leetcode上跑通。这次得到的教训有两个: 1. 在解一个算法题时,不要找到一个解法,就不去思考其他的解法了,要尽可能想出多的解法,用笔在纸上列出来,评估一个复杂度低的解法。如果不通,迅速换一个解法,不要钻牛角尖。 1.原创 2017-07-01 09:40:30 · 257 阅读 · 0 评论 -
LeetCode--Valid Parentheses
问题这个问题是非常简单的。就是匹配括号。那么要用到stack这个数据结构。而用C++的stack来编写,问题变得非常简单。 同时感谢这篇博客的博主 http://blog.csdn.net/zhouworld16/article/details/17629755代码分析class Solution {public: bool isValid(string s) {原创 2017-07-01 13:49:06 · 303 阅读 · 0 评论 -
LeetCode --Two Sum
Two SumGiven an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution.Example:Given nums = [2, 7原创 2016-10-16 22:26:43 · 454 阅读 · 0 评论 -
LeetCode --Reverse Integer
题目Reverse digits of an integer.Example1: x = 123, return 321 Example2: x = -123, return -321 Note: The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed原创 2017-06-25 20:42:22 · 491 阅读 · 0 评论 -
LeetCode--Palindrome Number
问题这是一个求解回文的题。分析负数是否是回文?个位数一定是回文,如果是个位数可以直接返回,但是下面代码并未这么做算法的核心思想就是,不停的取出数的最高位和最低位比较,如果相同,掐头去尾再继续比较,如果一直是相等的,那么就是回文 public boolean isPalindrome(int x) { //when x is negative,return fal原创 2017-06-26 16:59:16 · 235 阅读 · 0 评论 -
LeetCode--Roman to Integer
public class QuickStart { public int romanToInt(String s) { int len = s.length(); int retInt = 0; char curCh; int curNum = 0; int lastNum = 0; for(in原创 2017-06-27 19:14:04 · 324 阅读 · 0 评论 -
LeetCode--Integer to Roman
问题将一个整型(3000以内)转换为Roman字符。镜像问题roman to integer在上一个博客里已经分析了。一些背景知识请参考上一篇博客。分析在用计算机解决一个问题前,一定要对问题进行分解,将规律找出来。分解的子问题,一定要满足逻辑原理的一致性、完备性原理。本人分析思路如下(仅供参考): 一个数,按照权重划分,例如,1996。按照不同权重可以分解为:1000+9*100+9*10+6*1原创 2017-06-28 09:53:30 · 244 阅读 · 0 评论