03 2020 档案

摘要:问题描述: 给你一个整数数组 ,将该数组升序排列。 使用API就没多大的意义了。 方法一: 快速排序的实现 注意: 快速排序的边界情况还是比较烦人的,注意分情况,而且最后交换的时候一定是和right这个位置交换。 阅读全文
posted @ 2020-03-31 13:11 bestwell 阅读(196) 评论(0) 推荐(0) 编辑
摘要:你现在手里有一份大小为 的『地图』(网格) ,上面的每个 (单元格)都用 和` 1 0 1` 代表陆地,你知道距离陆地区域最远的海洋区域是是哪一个吗?请返回该海洋区域到离它最近的陆地区域的距离。 我们这里说的距离是『曼哈顿距离』( Manhattan Distance):(x0, y0) 和 (x1 阅读全文
posted @ 2020-03-29 13:08 bestwell 阅读(225) 评论(0) 推荐(0) 编辑
摘要:方法一:存储后缀 思路 如果单词 是 的后缀,那么单词 就不需要考虑了,因为编码 的时候就同时将 编码了。例如,如果 中同时有 和 ,我们就可以在不改变答案的情况下不考虑 。 如果单词 不在任何别的单词 的后缀中出现,那么 一定是编码字符串的一部分。 因此,目标就是保留所有不是其他单词后缀的单词,最 阅读全文
posted @ 2020-03-28 13:07 bestwell 阅读(175) 评论(0) 推荐(0) 编辑
摘要:实现代码: 阅读全文
posted @ 2020-03-27 13:17 bestwell 阅读(176) 评论(0) 推荐(0) 编辑
摘要:在 的网格上,我们放置一些 的立方体。 每个值 表示 个正方体叠放在对应单元格 上。 请你返回最终形体的表面积。 思路: 计算每个位置的表面积,然后相加。其中计算每个位置的面积为 ,`inner 2 (n 1) outer 上下左右 4` 个方向取 即可。 注意: 题目可能会有某个位置的正方体的个数 阅读全文
posted @ 2020-03-25 12:33 bestwell 阅读(213) 评论(0) 推荐(0) 编辑
摘要:无重叠区间是一类十分经典的问题,很多问题的模型就是基于这一就无重叠区间问题的。 首先,一个很直接的思路就是这类题目和LIS(最长上升子序列问题)很像。 所以考虑使用 来解这道题 java import java.util.Arrays; class Solution { public int era 阅读全文
posted @ 2020-03-24 19:25 bestwell 阅读(251) 评论(0) 推荐(0) 编辑
摘要:一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。 暴力法:对于每个预约都有可选和可不选的两种情况 记忆型递归:暴力法的问题在于有很多重复 阅读全文
posted @ 2020-03-24 18:24 bestwell 阅读(197) 评论(0) 推荐(0) 编辑
摘要:状态的定义: 代表以下标为 结尾的最大摆动序列 因为这里涉及到正负还有0 所以使用 存的是目前为止最长的以第 个元素结尾的上升摆动序列的长度。 类似的, 记录的是目前为止最长的以第 个元素结尾的下降摆动序列的长度。 我们每当找到将第 个元素作为上升摆动序列的尾部的时候就更新 。现在我们考虑如何更新 阅读全文
posted @ 2020-03-22 18:35 bestwell 阅读(117) 评论(0) 推荐(0) 编辑
摘要:参考了,leetcode官方题解的方法,使用计数的方式 算法 首先统计出每个数出现的次数,然后从小到大遍历每个数 : 如果 出现了两次以上,就将额外出现的数记录下来(例如保存到一个列表中); 如果 没有出现过,那么在记录下来的数中选取一个 ,将它增加到 ,需要进行的操作次数为 。 我们还可以对该算法 阅读全文
posted @ 2020-03-22 13:05 bestwell 阅读(103) 评论(0) 推荐(0) 编辑
摘要:有明确的初始状态和最终状态 可以使用BFS来解决,主要考虑下一步可能状态next的求解,是个体力活 解法二: "贝祖定理" 我们认为,每次操作只会让桶里的水总量增加 ,增加 ,减少 ,或者减少 。 你可能认为这有问题:如果往一个不满的桶里放水,或者把它排空呢?那变化量不就不是 或者 了吗?接下来我们 阅读全文
posted @ 2020-03-21 16:11 bestwell 阅读(278) 评论(0) 推荐(0) 编辑
摘要:直接使用API函数调用快速排序,面试种肯定是不行的! 利用快速排序的分区思想,我们知道快排的划分函数每次执行完后都能将数组分成两个部分,小于等于分界值 的元素的都会被放到数组的左边,大于的都会被放到数组的右边,然后返回分界值的下标 。 那么: 如果 = 直接返回 = arr[base]){ righ 阅读全文
posted @ 2020-03-20 13:38 bestwell 阅读(171) 评论(0) 推荐(0) 编辑
摘要:给定一个非负整数数组,a1, a2, ..., an, 和一个目标数, 。现在你有两个符号 和` +` 或 中选择一个符号添加在前面。 返回可以使最终数组和为目标数 的所有添加符号的方法数。 dp数组的含义 : dp[i][j] 表示用数组中的前 i 个元素,组成和为 j 的方案数 状态转移方程: 阅读全文
posted @ 2020-03-17 20:11 bestwell 阅读(145) 评论(0) 推荐(0) 编辑
摘要:在计算机界中,我们总是追求用有限的资源获取最大的收益。 现在,假设你分别支配着 个` 0 n 1`。另外,还有一个仅包含 和 字符串的数组。 你的任务是使用给定的 个 和 个 ,找到能拼出存在于数组中的字符串的最大数量。每个 和 至多被使用一次。 注意: 给定 和 的数量都不会超过 。 给定字符串数 阅读全文
posted @ 2020-03-16 00:23 bestwell 阅读(107) 评论(0) 推荐(0) 编辑
摘要:给定一个包含了一些 和 的非空二维数组 , 一个 岛屿 是由四个方向 (水平或垂直) 的 (代表土地) 构成的组合。你可以假设二维矩阵的四个边缘都被水包围着。 找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为 。) 示例 1: {0, 0, 1, 0, 0, 0, 0, 1, 0, 阅读全文
posted @ 2020-03-15 15:35 bestwell 阅读(163) 评论(0) 推荐(0) 编辑
摘要:1.输入 推荐使用这种的输入,读取的数据量大的时候,速度更快。 static class InputReader { private BufferedReader bf = null; private StringTokenizer stz = null; public InputReader() 阅读全文
posted @ 2020-03-01 16:51 bestwell 阅读(2610) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示