摘要: 问题描述 一个数组或者一个字符串,比如12345循环移动一位就是23451,再循环移动一位就是34512,问循环移动m位之后,数组或者字符串变成什么样 分析问题 首先我们需要弄明白一个问题,那就是循环移动m位和循环移动m%n位是一样的 我们可以不断地循环移动,每次将数组中的元素右移一位,循环m%n次,那么时间复杂度为n^2 RightShift(int* ... 阅读全文
posted @ 2015-05-25 22:06 keedor 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 问题描述 给定n*n的01方阵,每一行都是降序排列,即先前的一段一定是1,到10分界处之后才是全0,求1最多的那行中1的个数 分析问题 如果数出每一行1的个数,然后再看哪一行1的个数最多,这样时间复杂度是O(n^2) 如果用二分法优化,可以找出每一行0和1的分界处,然后就知道了每一行的1的个数,时间复杂度为nlogn 还有一种时间复杂度为n的方法,算法的策略师如... 阅读全文
posted @ 2015-05-25 22:01 keedor 阅读(572) 评论(0) 推荐(0) 编辑
摘要: leetcode 152 问题描述 给定一个数组,求最大的连续子数组乘积最大 分析问题 跟求和最大子数组类似,我们也可以用动态规划来解这道题,解题之前我们需要考虑是否存在溢出,在不存在溢出的情况下我们需要记录之前乘积的绝对值,这里因为有正负性,负负得正,所以我们需要记录之前乘积的最大值和最小值两个值 算法实现 int maxProduct... 阅读全文
posted @ 2015-05-25 21:43 keedor 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 引言 gitbash中刚开始的时候也有中文乱码的问题,这里设置一下以下的一些配置文件即可解决 解决问题 进入目录:$ cd /etc 1. 编辑 gitconfig 文件:$ vigitconfig 文件中增加内容 [gui] encoding=utf-8#代码库统一使用utf-8 [i18... 阅读全文
posted @ 2015-05-25 17:07 keedor 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 引言刚装好的gitbash没有Linux下那种快速复制粘贴的功能,这里需要设置一下快速编辑功能才能够打开 步骤 右键顶端边框,点击"属性",如图所示在进行点击选项的菜单,如图所示勾选上编辑选项的"快速编辑" 阅读全文
posted @ 2015-05-25 17:05 keedor 阅读(249) 评论(0) 推荐(0) 编辑