算法
打锤子棒棒糖
不抱希望,全力以赴,万一有惊喜呢
展开
-
[LeetCode] 无重复字符的最长子串
给定一个字符串,找出不含有重复字符的最长子串的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 无重复字符的最长子串是 "abc",其长度为 3。解法1建立一个256位的整型数组,因为ASCII表能表示256位字符,这样我们可以记录所有的字符,然后定义两个变量res和left,res用来记录最长无重复子串的长度,left记录该无重复子串左边的起始位置,然后我们遍...原创 2018-10-31 10:56:09 · 188 阅读 · 0 评论 -
算法:一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法.
题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法.青蛙每一次跳跃只有两种选择:一是再跳1级阶梯到达第n级阶梯,此时小青蛙处于第n-1级阶梯;或者再跳2级阶梯到达第n级阶梯,此时小青蛙处于n-2级阶梯于是,n级阶梯的跳法总是依赖于前n-1级阶梯的跳法总数f(n-1)和前n-2级阶梯的跳法总数f(n-2).因为只有两种可能性,所以,f(n)=f...原创 2018-10-30 09:10:26 · 16425 阅读 · 1 评论 -
给出两个单词word1和word2,计算出将word1转换为word2的最少操作数 (一次操作是指:删除一个字符,或者添加一个字符,或替换一个字符)
给出两个单词word1和word2,计算出将word1转换为word2的最少操作数 (一次操作是指:删除一个字符,或者添加一个字符,或替换一个字符)编辑距离问题思路:动态规划用一个dp数组记录需要变化的步数.dp[i][j]表示字符串长度为i变为字符串长度为j需要的步数代码如下:using System;using System.Collections.Generic;u...原创 2018-10-30 10:30:14 · 4382 阅读 · 0 评论 -
给定数组,任意相邻两个元素的差的绝对值等于1,设计算法,在该数组中如果该元素的值多次出现,返回第一次的位置
给定数组,任意相邻两个元素的差的绝对值等于1,设计算法,在该数组中如果该元素的值多次出现,返回第一次的位置例如:{4,5,6,5,6,7,8,9,10,9},元素9出现了2次,第一次出现的位置是7;遇到算法,首先分析一下,举一两个例子,看看规律思路:假如查找的是9,即t=9,从第一个数组开始,A[0]=4,那么t-A[0]=5,第二步再计算t-A[5]=2,此时5+2=7;A[7]就是...原创 2018-10-30 11:02:21 · 2184 阅读 · 2 评论 -
如何找到字符串中的最长回文子串?
回文串就是正度和反读都是一样的字符串例如:第3位为中心: c a b a d a b a e第5位为中心: c a b a d a b a e使用中心扩展算法我们已经知道了第3位为中心的a b a和第5位为中心的a b a d a b a是回文,那么判断第7位为中心的回文串的时候,由于回文的特性,就能够知道2-4和6-8对称1. c a b a d a b a e 2-4...原创 2018-11-01 09:15:46 · 405 阅读 · 0 评论 -
Z字形转换
题目:Z字形转换将字符串 "PAYPALISHIRING" 以Z字形排列成给定的行数:P A H NA P L S I I GY I R之后从左往右,逐行读取字符:"PAHNAPLSIIGYIR"实现一个将字符串进行指定行数变换的函数:string convert(string s, int numRows);给一个字符串长点的,numRows为...原创 2018-11-01 11:36:32 · 2975 阅读 · 1 评论