摘要: 目标: 输入一个二维数组,0和边界代表大海,1代表岛屿的面积,岛的连接仅由上下左右四个方向相连,试找出最大岛屿的面积。 思路: 使用深搜算法,便利二位数组,当找到一个值为1的pixel,开始进行深搜,搜索与其相连的岛屿面积,对添加进栈的pixel标记为0,代表已搜索。最后比较留下最大岛屿的面积。 代 阅读全文
posted @ 2018-10-29 16:11 leo_lee 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 目标: 给出终点距离与开始油量,以及沿途加油站的距离及可以添加的油量,试给出如果要达到终点,最小加油的次数,如果无法到达,则输出-1 主要思路: 使用背包算法的思想,把加油的次数作为权重,油量作为价值,计算每添加一次加油对于油量最优化的影响。 代码: 阅读全文
posted @ 2018-10-25 11:21 leo_lee 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 目标: 给出一个数组,找出里面需要重新排序的最小子数组,从而可以使得数组是升序的。 思路: 简单地首先将数组升序排序,然后比较前后与已排序数组不相同的元素,即可找到子数组。 代码: 阅读全文
posted @ 2018-10-24 16:28 leo_lee 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 主要目标: 输入2个整数,如果为循环小数,小数部分将循环部分用“()”显示。 思路: 很麻烦,这道题还涉及到int整形的边界,为了避免处理这种情况,我们使用c++11的特性,int64_t来处理大数情况。 主要思路,首先将分子为零的直接返回“0”,然后记录答案正负符号,将分子和分母分别取绝对值,然后 阅读全文
posted @ 2018-09-09 14:41 leo_lee 阅读(732) 评论(0) 推荐(0) 编辑
摘要: 主要目标: 把表中的重复数据清除掉 思路: 先建一个表to_delete,用来保存查找出来的重复的数据记录 然后利用这个to_delete表去删除Person表中的重复记录 记得最后删除这个临时表to_delete,另外,创建to_delete时,不能使用temporary table。 参考链接: 阅读全文
posted @ 2018-09-09 10:26 leo_lee 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 主要目标: 根据输入的9x9的数独数据,判断改数独是否有效(有效条件:每个横列都是1-9,每个竖列都是1-9,分成的9个3x3都是1-9) 思路: 注意,题目说明了,仅判断数独的有效性,并不判断数独的可解性,所以我们只需根据三个条件简单遍历,判断每一竖列,每一横列,每一3x3不会出现重复元素即可。 阅读全文
posted @ 2018-09-08 11:24 leo_lee 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 主要目标: 根据输入的字符串,将其转换成摩斯密码,看有多少是唯一的。 思路: 将摩斯密码转换表用数组或者字典存起来 然后遍历输入的字符串组,将其转换为摩斯密码,并用一个集合数据结构来保存 最后返回这个集合的元素个数即可 阅读全文
posted @ 2018-09-08 10:40 leo_lee 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 主要目标: 根据输入的点坐标集,找出某三个点可以构成最大三角形区域的面积 思路: 遍历所有三个点组合 根据公式:S = 1/2 * (x1y2+x2y3+x3y1-x1y3-x2y1-x3y2) 来计算三角形面积,并比较记录最大值 注意:上述公式里,可能会算出负值,所以得做一个绝对值的计算。 阅读全文
posted @ 2018-09-08 10:13 leo_lee 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 主要目标: 1.判断能否reshape矩阵 2.能则按行遍历顺序进行reshape 3.否则返回原矩阵 思路: 1.判断新的矩阵长宽参数是否满足 2.遍历原矩阵,赋值到新矩阵 阅读全文
posted @ 2018-09-06 14:03 leo_lee 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 主要目标: 1.输入的字符串中去除掉重复的字母 2.返回结果是最小的字典序 3.字母顺序是原字符串的顺序(这个条件比较隐性) 思路: 要保证最小字典序,则比较字符的ascii码值则可。因要保持原字符串顺序,所以当发现该字符是字符串中拥有的最后一个,则要保留。 所以,我们以栈结构来保存结果,遍历输入的 阅读全文
posted @ 2018-09-06 13:33 leo_lee 阅读(969) 评论(0) 推荐(0) 编辑