题目 There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)). 大意 有两个排好序的数组nums1和nums2,分别长m和n.找出两个数列的中值,复杂度应该为O(log (m+n)). 思路 这道题虽然知道应该是分治的思路,我没有做出来,找了一下discuss里面的题解,看了一下,打算把有关的分治书上好好看过之后在回顾之后再更新下这道题。 这里贴出discuss的两个帖子链接,这两个是discuss里面顶的最多了两篇。第一篇思路比较正常,翻译了下。第二篇的思路更是很巧妙的避开了奇偶数的讨论,但不知道是否具有普适性。 Python: 我的错误代码如下:(仅作纪念) #错误代码 class Solution(object): def findMedianSortedArrays(self, nums1, nums2): “”” :type nums1: List[int] :type nums2: List[int] :rtype: […]

题目: Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring. 大意:就是找出字符串中最大的回文子字符串 吐槽: 这应该是一道经典的算法题,可是我还是没有什么好办法,可见我真的是太菜了。哎。。。用了一个O( n^2 )的解法,妥妥的超时了。。。后来看了网上的有关文章和discuss里面的代码,修改了版本。 暴力超时版Python代码: (肯定是我自己写的) class Solution(object): def longestPalindrome(self, s): longest_str = “” longest_len = 0 for i in range(len(s) – 1): […]

题目: Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letters for “abcabcbb” is “abc”, which the length is 3. For “bbbbb” the longest substring is “b”, with the length of 1. 大意:给出一个字符串,找出不包含重复字母的最长字串,输出字符串的长度。 这道题是一个字符串的题,好久不写明显手生,所以一些细节耗费了很多时间去调试,希望自己慢慢熟悉起来。 思路: 我的大概思路就是: * 对字符串进行一次遍历,用一个大小为256(ascii最多有256种字符)数组记录每个字母最后一次的下标。 * 当当前字符以前出现过时就覆盖原来的数组元素,并且更新start值。 * 每次循环时检查当前下标i-开始下标start和一个记录当前最大串长度的max变量的关系,将max保持或更新。 * 需要注意的是,我更新start和max是在检测到重复字母时进行的,而最后一个字符不一定和前边重复,所以循环外要附加一次更新max的操作。 […]

万事开头难,算是开始刷leetcode了吧,不知道能不能坚持下去!在这放下一句,不坚持是小狗!——jc,15.10.25 第一题能就是一个纯属熟悉环境,从网上找了python版答案走了一遍流程: 题目 Given an array of integers, find two numbers such that they add up to a specific target number. The function twoSum should return indices of the two numbers such that they add up to the target, where index1 must be less than index2. Please note that your returned answers (both index1 and […]

题目 You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list. Input: (2 -> 4 -> 3) + (5 -> 6 -> 4) Output: 7 -> 0 -> […]

博客由来 今年暑假的时候就听说github上可以免费搭建静态博客。当时虽然看了看,但还是因为服务器、网页等知识欠缺太多,几次想动手都没有坚持下去。 最近看了看Nginx的有关知识,算是对http服务器的搭建有了个大概了解。后来看到了docker,就买了《第一本docker书》这本书看了看,发现上边有些例子写的挺不错,其中就有jekyll+Apache搭建静态博客的例子,照着做一遍后,我决定用Nginx作服务器,用docker做载体,用jekyll作为网站生成工具,将这个静态博客搭建在阿里云服务器上。 于是这个博客最终在10月18日时算是初步搭建成功了,现在写这篇总结应该是算有点晚,但是由于很多细节我还欠缺很多,而且搭建博客所涉及的方面太多,很多部分我只是照搬他人成果,所以关于一些细节问题以后还要深入学习,然后再总结出来,请大家和自己期待~ 资源和费用 服务器: 我用了最便宜的那种阿里云服务器,但是搭这个博客绰绰有余。 价格:学生优惠的9.9元/月。 域名: 在万网申请的域名(貌似和阿里云并在一起了,所以做域名映射非常友好简单) 价格:买了一年,5元/年(但是再续费就贵多了) 代码托管(不是必要的): 用于存我的博客目录,包括这个小的静态网页的所有的一切。 价格:免费(github student pack) ——如此看来,搭建个博客费用是很低的,一个月10块。 组成一 :jekyll jekyll是一个简单的免费的Blog生成工具,类似WordPress。但是和WordPress又有很大的不同,原因是jekyll只是一个生成静态网页的工具,不需要数据库支持。但是可以配合第三方服务,例如Disqus。最关键的是jekyll可以免费部署在Github上,而且可以绑定自己的域名。 ——百度百科 个人感觉,jekyll是一个像使用模板一样简单的工具,只要你按照他的文件夹结构,将对应的文件放到对应的位置,然后jekyll build一下,你的网站就生成好了!。。而且配置可以集中在一个_config.yml文件中,真的很方便,即使像我一样以前没有接触过,把别人写的博客目录拿过来,也可以仿照着改成自己想要的样子。 所以,我这个博客采用的就是@RainyAlley提供的模板(github页面)目录,然后做了一些自己的修改。 关于jekyll的介绍和文档和介绍,这个是官网的中文版: http://jekyll.bootcss.com/ 组成二 :nginx Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布78。 ——百度百科 nginx肯定比jekyll的知名度高很多,他就像apache是个服务器软件。nginx可以做网站服务器,反向代理(过几天我还要写个关于反向代理的总结,这里先占位。。过几天贴链接),邮件服务器…… 在搭建本博客中,nginx起的作用就是一个静态网站服务器,只要在相关的配置文件中写好网站的目录,写好对应的域名,就可以运行起来了~~ 组成三 :docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 […]

第一次构建Docker镜像,想照着书弄个jekyll的镜像玩玩,结果两天了,到现在还没成功。记录下国内环境实践和书本上的不同。。。 首先官方的apt-get源太慢了 要换成国内的速度还可以接受一点:(原文链接) 做法: Dockerfile 中 RUN apt-get update 前添加一句: RUN sed -i ‘s/http:\/\/archive\.ubuntu\.com\/ubuntu\//http:\/\/mirrors\.163\.com\/ubuntu\//g’ /etc/apt/sources.list gem国内源貌似也不行 (原文链接) 做法: Dockerfile中添加: RUN gem sources –remove http://rubygems.org/ RUN gem sources -a https://ruby.taobao.org/ RUN gem sources -l