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