04 2019 档案

摘要:在一个 8 x 8 的棋盘上,有一个白色车(rook)。也可能有空方块,白色的象(bishop)和黑色的卒(pawn)。它们分别以字符 “R”,“.”,“B” 和 “p” 给出。大写字符表示白棋,小写字符表示黑棋。 车按国际象棋中的规则移动:它选择四个基本方向中的一个(北,东,西和南),然后朝那个方向移动,直到它选择停止、到达棋盘的边缘或移动到同一方格来捕获该方格上颜色相反的卒。另外,车不能与其... 阅读全文
posted @ 2019-04-30 23:17 Dloading 阅读(148) 评论(0) 推荐(0)
摘要:给定表示非负整数的非空数字数组,加上整数的1。 存储数字使得最高有效数字位于列表的开头,并且数组中的每个元素包含单个数字。 您可以假设整数不包含任何前导零,除了数字0本身 例1: 输入: [1,2,3] 输出: [1,2,4] 说明:数组表示整数123。 例2: 输入: [4,3,2,1] 输出: [4,3,2,2] 说明:数组表示整数4321。 public static int[] p... 阅读全文
posted @ 2019-04-30 23:13 Dloading 阅读(106) 评论(0) 推荐(0)
摘要:观察者模式的四种角色: 1、主题接口(Subject):规定了具体主题需要实现的方法 2、观察者接口(Observer):规定了用来更新数据的方法 3、具体主题(ConcreteSubject):实现主题接口 4、具体观察者(ConcreteObserver):实现了观察者接口 阅读全文
posted @ 2019-04-23 09:34 Dloading 阅读(213) 评论(0) 推荐(0)
摘要:一个具体命令包含一个其他命令的集合 阅读全文
posted @ 2019-04-22 22:32 Dloading 阅读(516) 评论(0) 推荐(0)
摘要:通过封装请求的execute()方法以及撤销请求的undo()方法: 阅读全文
posted @ 2019-04-22 21:32 Dloading 阅读(320) 评论(0) 推荐(0)
摘要:命令模式的四种角色: 1、接受者(Receiver)负责执行请求的相关操作的一个类 2、命令接口:(Command)用于封装请求的方法 3、具体命令:(ConcreteCommand)命令接口的具体实现类 4、请求者:(Invoker)包含了命令接口的实例变量,负责调用具体命令 阅读全文
posted @ 2019-04-22 19:47 Dloading 阅读(248) 评论(0) 推荐(0)
摘要:思路: 从第二个元素开始遍历,若当前元素小于前一个元素执行排序,将当前元素作为标准数,从标准数的前一个元素位置开始向前遍历并且要求遍历的元素大于标准数时,遍历元素向后移,最后当遍历元素不满足大于标准数时,将标准数赋给不满足的元素。 阅读全文
posted @ 2019-04-22 15:30 Dloading 阅读(114) 评论(0) 推荐(0)
摘要:思路: 将你要排序的数组的值作为桶数组的索引,桶数组索引所对的值等于排序数组中出现的次数。 然后通过桶数组将值输出查看 (桶排序的数组中无法出现小于0的数) 阅读全文
posted @ 2019-04-21 22:00 Dloading 阅读(110) 评论(0) 推荐(0)
摘要:思路: 1、从最右端开始找出小于基准数的数以及其位置 2、从最左端出发找出大于其基准数的数以及其位置 3、交换两个数 4、交换基准数跟碰头数(最右端开始向前的标记等于最右端向后的标记) 5、处理数组中所有小于基准数的数字 7、处理数组中所有大于基准数的数字 阅读全文
posted @ 2019-04-21 21:26 Dloading 阅读(184) 评论(0) 推荐(0)
摘要:思路: 依次比较相邻元素,当前一个元素大于后一个元素时,交换两个元素位置 具体动画演示过程可以去这里https://algorithm-visualizer.org/ 阅读全文
posted @ 2019-04-21 18:05 Dloading 阅读(146) 评论(0) 推荐(0)
摘要:思路: 当有多个盘子时,永远将盘子看作只有两个,位于最下面的一个盘子(A),跟其他的所有盘子(看做一个B),那么只需要先将B先放到中间位置,在将A放到目标位置,最后将A放到目标位置即可。当仅仅只有一个盘子时,直接将盘子从原始位置移动到目标位置。 阅读全文
posted @ 2019-04-21 17:26 Dloading 阅读(286) 评论(0) 推荐(0)
摘要:给定排序数组和目标值,如果找到目标,则返回索引。如果没有,请返回索引按顺序插入的索引。您可以假设数组中没有重复项。例1:输入: [1,3,5,6],5输出: 2例2:输入: [1,3,5,6],2输出: 1 阅读全文
posted @ 2019-04-20 21:14 Dloading 阅读(105) 评论(0) 推荐(0)
摘要:给定数组nums和值val,在适当位置删除该值的所有实例并返回新长度。 不要为另一个数组分配额外的空间,你必须这样做修改输入数组就地用O(1)额外的内存。 元素的顺序可以改变。你留下的新长度并不重要。 例1: 给定nums = [3,2,2,3],val = 3, 你的函数应该返回长度= 2,与前两 阅读全文
posted @ 2019-04-20 21:07 Dloading 阅读(140) 评论(0) 推荐(0)
摘要:测试类: 阅读全文
posted @ 2019-04-19 00:27 Dloading 阅读(377) 评论(0) 推荐(0)
摘要:给定一组A 非负整数,A中的一半整数是奇数,而整数的一半是偶数。 对数组进行排序,以便每当A[i]奇数时,i都是奇数; 无论何时A[i]均匀,i均匀。 您可以返回满足此条件的任何答案数组。 例1: 输入:[4,2,5,7] 输出:[4,5,2,7] 说明: [4,7,2,5],[2,5,4,7],[ 阅读全文
posted @ 2019-04-16 22:43 Dloading 阅读(173) 评论(0) 推荐(0)
摘要:给定二进制矩阵A,我们想要水平翻转图像,然后反转它,并返回结果图像。 水平翻转图像意味着图像的每一行都是相反的。例如,[1, 1, 0] 水平翻转会 导致 [0, 1, 1]。 反转图像意味着每个 图像都0被替换1,并且每个图像都1被替换0。例如,反转 [0, 1, 1] 结果 [1, 0, 0]。 阅读全文
posted @ 2019-04-16 21:39 Dloading 阅读(149) 评论(0) 推荐(0)
摘要:所述 斐波那契数,通常表示为 F(n) 形成一个序列,叫做 斐波纳契数列,使得每个数字是两个前述的,从开始的总和0和1。那是, F(0)= 0,F(1)= 1 对于N> 1,F(N)= F(N-1)+ F(N-2)。 给定N,计算F(N)。 例1: 输入: 2 输出: 1 说明: F(2)= F(1 阅读全文
posted @ 2019-04-16 20:51 Dloading 阅读(179) 评论(0) 推荐(0)
摘要:您想要以楼梯形状形成总共n个硬币,其中每个第k行必须具有恰好k个硬币。 给定n,找到可以形成的完整楼梯行的总数。 n是一个非负整数,适合32位有符号整数的范围。 阅读全文
posted @ 2019-04-16 20:48 Dloading 阅读(131) 评论(0) 推荐(0)
摘要:例1: 输入: [3,1,4,1,5],k = 2 输出: 2 说明:阵列中有两个2-diff对,(1,3)和(3,5)。 虽然我们在输入中有两个1,但我们应该只返回唯一对的数量。 例2: 输入: [1,2,3,4,5],k = 1 输出: 4 说明:阵列中有四个1-diff对,(1,2),(2,3 阅读全文
posted @ 2019-04-15 21:55 Dloading 阅读(192) 评论(0) 推荐(0)
摘要:给定两个数组,编写一个函数来计算它们的交集。 例1: 输入: nums1 = [1,2,2,1],nums2 = [2,2] 输出:[2,2] 例2: 输入: nums1 = [4,9,5],,nums2 = [9,4,9,8,4] 输出:[4,9] 注意: 结果中的每个元素应该出现在两个数组中显示 阅读全文
posted @ 2019-04-15 19:48 Dloading 阅读(181) 评论(0) 推荐(0)
摘要:给定一个A整数数组,true当且仅当它是有效的山数组时才返回。回想一下,A是一个山脉阵列,当且仅当:A.length >= 3。存在一些i与 0 < i < A.length - 1 这样的: A[0] < A[1] < ... A[i-1] < A[i] A[i] > A[i+1] > ... > 阅读全文
posted @ 2019-04-14 21:22 Dloading 阅读(149) 评论(0) 推荐(0)
摘要:如果阵列单调递增或单调递减,则阵列是单调的。 数组A是单调的,如果所有的增加i <= j,A[i] <= A[j]。A如果对所有人来说i <= j,数组是单调减少的A[i] >= A[j]。 返回true当且仅当给定的数组A是单调的。 例1: 输入:[1,2,2,3] 输出:true 例2: 输入: 阅读全文
posted @ 2019-04-14 19:01 Dloading 阅读(111) 评论(0) 推荐(0)
摘要:给定两个数组,编写一个函数来计算它们的交集。 例1: 输入: nums1 = [1,2,2,1],nums2 = [2,2] 输出:[2] 例2: 输入: nums1 = [4,9,5],nums2 = [9,4,9,8,4] 输出:[9,4] 注意: 结果中的每个元素都必须是唯一的。 结果可以是任 阅读全文
posted @ 2019-04-14 17:45 Dloading 阅读(132) 评论(0) 推荐(0)
摘要:给定整数的数组,其中1≤A [1]≤ Ñ(Ñ =数组的大小),一些元件出现两次以及其他出现一次。 查找未出现在此数组中的[1,n ]包含的所有元素。 你可以在没有额外空间和O(n)运行时的情况下完成吗?您可能认为返回的列表不计入额外空间。 例: 输入: [4,3,2,7,8,2,3,1] 输出: [ 阅读全文
posted @ 2019-04-14 16:24 Dloading 阅读(157) 评论(0) 推荐(0)
摘要:给定A 以非递减顺序排序的整数数组,返回每个数字的正方形数组,也按有序非递减顺序返回。 例1: 例2: 输入:[ - 7,-3,2,3,11] 输出:[4,9,9,49,121] 解法1: 首先通过循环重置数组,使得数组变为原值的平方。然后在进行冒泡排序 class Solution { publi 阅读全文
posted @ 2019-04-14 13:41 Dloading 阅读(200) 评论(0) 推荐(0)
摘要:重载方法是一个类中的多个方法,遵循以下原则: 1、方法的参数列表不同,包括参数的类型或个数; 2、方法的返回值类型、修饰符可以相同也可以不同; 3、方法的返回值类型不能作为区分重载的标志。 package SE; public class Chongzai { public void disPlay(String name) { System.out.p... 阅读全文
posted @ 2019-04-14 00:04 Dloading 阅读(369) 评论(0) 推荐(0)
摘要:给定一个2n个整数的数组,你的任务是将这些整数分组为n对整数,比如说(a 1,b 1),(a 2,b 2),...,(a n,b n)对于从1到n的所有i尽可能大的min(a i,b i)之和。 例1: 注意 阅读全文
posted @ 2019-04-13 19:01 Dloading 阅读(238) 评论(0) 推荐(0)
摘要:在一个A大小的数组中2N,有N+1独特的元素,这些元素中的一个重复N次。 返回重复N次的元素。 例1: 输入:[1,2,3,3] 输出:3 例2: 输入:[2,1,2,5,3,2] 输出:2 例3: 输入:[5,1,5,2,5,3,5,4] 输出:5 解法一: 题目中可以得知数组大小i为2N,有N+ 阅读全文
posted @ 2019-04-13 17:01 Dloading 阅读(196) 评论(0) 推荐(0)
摘要:给定一个A非负整数数组,返回一个由所有偶数元素组成的数组A,后跟所有奇数元素A。 您可以返回满足此条件的任何答案数组。 例1: 输入:[3,1,2,4] 输出:[2,4,3,1] 产出[4,2,3,1],[2,4,1,3]和[4,2,1,3]也将被接受。 注意: 1 <= A.length <= 5 阅读全文
posted @ 2019-04-13 16:57 Dloading 阅读(173) 评论(0) 推荐(0)
摘要:如果以下属性成立,我们将数组A称为山峰: A.length >= 3 存在一些0 < i < A.length - 1这样的A[0] < A[1] < ... A[i-1] < A[i] > A[i+1] > ... > A[A.length - 1] 鉴于一个绝对是一座山的阵列,返回任何 i 这样 阅读全文
posted @ 2019-04-13 16:47 Dloading 阅读(120) 评论(0) 推荐(0)
摘要:给定已按升序排序的整数数组,找到两个数字,使它们相加到特定的目标数。 函数twoSum应返回两个数字的索引,以便它们加起来到目标,其中index1必须小于index2。 注意: 您返回的答案(index1和index2)不是从零开始的。 您可以假设每个输入只有一个解决方案,并且您可能不会两次使用相同 阅读全文
posted @ 2019-04-13 16:43 Dloading 阅读(145) 评论(0) 推荐(0)
摘要:给定两个排序的整数数组nums1和nums2,将nums2合并为nums1作为一个排序的数组。 注意: 在nums1和nums2中初始化的元素数分别为m和n。 您可以假设nums1有足够的空间(大小大于或等于m + n)来保存nums2中的其他元素。 例: 阅读全文
posted @ 2019-04-13 16:33 Dloading 阅读(201) 评论(0) 推荐(0)
摘要:给定排序的数组nums,就地删除重复项,使每个元素只出现一次并返回新的长度。 不要为另一个数组分配额外的空间,你必须这样做修改输入数组就地用O(1)额外的内存。 例1: 例2: 鉴于nums = [0,0,1,1,1,2,2,3,3,4],您的函数应返回length= 5,nums前五个元素 0,1 阅读全文
posted @ 2019-04-13 16:16 Dloading 阅读(125) 评论(0) 推荐(0)