
算法
lin-chang
这个作者很懒,什么都没留下…
展开
-
Excel列编号英文字母字符生成及转义算法
#include #include using namespace std;string fun(int i){ if(i<=0) return "error"; string s; while(i>26){ int shang=i/26;// int yushu=i%26; if(yushu==0){ yushu=26; shang--; s.ins原创 2014-05-27 16:37:19 · 1614 阅读 · 0 评论 -
两数之和
方法一:暴力法时间复杂度:N平方空间复杂度:1思路:遍历列表,对比这个元素后面有没有满足的元素def twoSum(self, nums, target): #暴力方法,复杂度n的平方 for i in range(0,len(nums)-1): a = nums[i] for j in r...原创 2018-12-02 18:32:07 · 149 阅读 · 0 评论 -
判断一个整数是否是回文数
第一个思路是先将整数转换为字符串,再将字符串翻转并与原字符串做比较def isPalindrome(self, x): """ :type x: int :rtype: bool """ #思路:先将整数转换为字符串,再将字符串翻转并与原字符串做比较 x = str(x) re...原创 2018-12-02 23:36:46 · 401 阅读 · 0 评论 -
整数翻转
class Solution(object): #考虑到数字尾数存在0,去除字符串后面的0 def excludeZero(self,x): if x.endswith("0"): x = x[:-1] return self.excludeZero(x) return x ...原创 2018-11-30 22:54:22 · 169 阅读 · 0 评论 -
罗马数字转整数
其实只要弄懂原理,实现起来非常简单:首先建立一个字典来映射符号和值,然后对字符串从左到右来,如果当前字符代表的值不小于其右边,就加上该值;否则就减去该值。以此类推,最终得到的结果即是答案。def romanToInt(self, s): """ :type s: str :rtype: int """ a =...原创 2018-12-07 21:36:02 · 153 阅读 · 0 评论 -
求一批字符串的最长公共前缀
思路一:这个题一拿到手,第一反应就是以第一个字符串strs[0]为标准,如果其他字符串的第一个字符和str[0]的第一个字符串相同,则再比较第二个字符串,以此类推直到出现不同为止。def longestCommonPrefix(self, strs): """ :type strs: List[str] :rtype: str ...原创 2018-12-07 22:51:43 · 2557 阅读 · 1 评论 -
有效的括号
思路:用一个字符串来模拟入栈和出栈,如果是左括号则入栈,如果是右括号则出栈,如果是一个有效的括号,那么最终这个栈一定是空的class Solution(object): def isValid(self, s): """ :type s: str :rtype: bool """ if not s:...原创 2018-12-30 17:36:54 · 133 阅读 · 0 评论 -
合并两个有序链表
思路:先选出第一个节点,然后遍历两个链表,把小的作为当前节点的下一个节点,一直到其中一个链表遍历完,这时候把另一个链表直接接上就好# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self....原创 2018-12-30 18:05:42 · 123 阅读 · 0 评论 -
删除排序数组中的重复项
思路:遍历数组,如果当前值跟前面的值相等,则删除当前元素,如果不等,说明不是重复元素,则继续遍历下一个元素class Solution(object): def removeDuplicates(self, nums): """ :type nums: List[int] :rtype: int """ ...原创 2018-12-30 19:03:35 · 156 阅读 · 0 评论