04 2019 档案

摘要:假设给定数组为:10 3 5 18 26 6 4 13 思想: (1)先对数组进行一趟快排(如下图1),得到支点下标par,将数组分为两个区间,红线区间和蓝线区间,如图2所示, 图1: 图2: (2)然后利用栈,如果区间长度大于1的话,将区间两端下标放入栈中, (3)当栈不为空就对该区间再次进行一趟 阅读全文
posted @ 2019-04-30 23:12 码到成功hy 阅读(706) 评论(1) 推荐(0) 编辑
摘要:Java中,代理模式的核心本质在于:两个子类共同实现一个接口,其中一个子类负责真实业务实现,另外一个子类完成辅助真实业务主题的操作。 先给大家看一张基础设计代理的原理图 第一种方法是最基本的代理模式实现,简单的举一个买电脑的例子,代码如下: 第二种方法通过反射实现,举一个吃卤菜的例子 以上程序如果结 阅读全文
posted @ 2019-04-27 19:27 码到成功hy 阅读(330) 评论(0) 推荐(0) 编辑
摘要:/* setter方法 o:要操作类的对象 args:属性名 attributeValue:属性值 */ public static void setXxx(Object o,String args,Object attributeValue){ Class cls = o.getClass(); ... 阅读全文
posted @ 2019-04-27 12:26 码到成功hy 阅读(3641) 评论(0) 推荐(1) 编辑
摘要:思路:三步走, 第一步:获取source和target的全部属性,放入List集合中(为什么要放入List集合中,为了偷懒而已,大可以不放就是多写一层循环而已); 第二步:比较两个类中属性名是否相等,相等的话,执行第三步,不相等,继续遍历,直到遍历结束; 第三步:判断属性的类型是否相同,相同赋值,不 阅读全文
posted @ 2019-04-27 11:20 码到成功hy 阅读(481) 评论(0) 推荐(0) 编辑
摘要:什么是反射? JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。通俗一点讲反射就是对象的反向处理。 下面我们具体说明反射的一些操作 1.三种获取Cla 阅读全文
posted @ 2019-04-26 19:46 码到成功hy 阅读(329) 评论(0) 推荐(0) 编辑
摘要:方法一:暴力法 代码如下: 方法二:思路: 阅读全文
posted @ 2019-04-16 23:43 码到成功hy 阅读(1133) 评论(0) 推荐(0) 编辑
摘要:问题描述:对于只含有质因子2,3,5的数,我们称这样的数为丑数 代码如下: 阅读全文
posted @ 2019-04-16 23:40 码到成功hy 阅读(983) 评论(0) 推荐(0) 编辑
摘要:给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。 例如,给定三角形: 自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。 方法一: 用二维数组做,先定义一个二维数组arr,数组大小为所传参数的大小+1;然后从底向上遍历数组(按递推公式:arr[ 阅读全文
posted @ 2019-04-15 22:42 码到成功hy 阅读(352) 评论(0) 推荐(1) 编辑
摘要:您将获得一个双向链表,除了下一个和前一个指针之外,它还有一个子指针,可能指向单独的双向链表。这些子列表可能有一个或多个自己的子项, 依此类推,生成多级数据结构,如下面的示例所示。 扁平化列表,使所有结点出现在单级双链表中。您将获得列表第一级的头部。 示例: 有关双向链表的一些基本实现给大家分享一个链 阅读全文
posted @ 2019-04-09 09:21 码到成功hy 阅读(442) 评论(0) 推荐(0) 编辑
摘要:给定一个链表(链表结点包含一个整型值)的头结点 head。 同时给定列表 G,该列表是上述链表中整型值的一个子集。 返回列表 G 中组件的个数,这里对组件的定义为:链表中一段最长连续结点的值(该值必须在列表 G 中)构成的集合。 示例 1: 示例 2: 阅读全文
posted @ 2019-04-09 08:01 码到成功hy 阅读(151) 评论(0) 推荐(0) 编辑
摘要:给出一个链表,每 k 个节点一组进行翻转,并返回翻转后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么将最后剩余节点保持原有顺序。 示例 : 给定这个链表:1->2->3->4->5 当 k = 2 时,应当返回: 2->1->4->3->5 当 k = 阅读全文
posted @ 2019-04-08 07:47 码到成功hy 阅读(1888) 评论(0) 推荐(0) 编辑
摘要:代码如下: 以上的注释可能解释的不太清楚,建议读者看着代码画图,这样其实更好理解这道题,其实链表这块的题只要你画图都是很容易解出来的。 阅读全文
posted @ 2019-04-08 00:01 码到成功hy 阅读(375) 评论(0) 推荐(0) 编辑
摘要:合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 解法二: 归并思想; //合并两个链表 public static ListNode merge(ListNode l1, ListNode l2) { ListNode dummyHead = new ListNode 阅读全文
posted @ 2019-04-07 23:56 码到成功hy 阅读(341) 评论(0) 推荐(0) 编辑
摘要:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 说明: 给定的 n 保证是有效的。 思想:这个和返回倒数第k个结点有点类似,只不过此时移动找到的是倒 阅读全文
posted @ 2019-04-04 06:45 码到成功hy 阅读(352) 评论(0) 推荐(0) 编辑
摘要:思路:1.求链表长度,记为len; 2.比较len和输入k值大小, 如果k值大于len,则将链表每个结点,单独即为一个链表,从头到尾,放入相应的数组中,最后k-len个空间分别放空结点;否则定义t = len/k,表示每个数组最少有几个结点,mod = len % k表示为可以为多少个数组多加一个结 阅读全文
posted @ 2019-04-04 06:41 码到成功hy 阅读(492) 评论(0) 推荐(0) 编辑
摘要:给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性, 而不是节点的值的奇偶性。 示例 1: 输入: 1->2->3->4->5->NULL 输出: 1->3->5->2->4->NULL 示例 2: 输入: 2->1->3->5->6->4 阅读全文
posted @ 2019-04-03 06:53 码到成功hy 阅读(214) 评论(0) 推荐(0) 编辑
摘要:给定一个单链表 L:L0→L1→…→Ln-1→Ln ,将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→…你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例 1: 给定链表 1->2->3->4, 重新排列为 1->4->2->3. 示例 2: 给定链表 1->2- 阅读全文
posted @ 2019-04-03 06:46 码到成功hy 阅读(971) 评论(0) 推荐(0) 编辑
摘要:给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。 示例 1: 输入: 1->2->3->4->5->NULL, k = 2 输出: 4->5->1->2->3->NULL 解释: 向右旋转 1 步: 5->1->2->3->4->NULL 向右旋转 2 步: 4->5 阅读全文
posted @ 2019-04-02 06:32 码到成功hy 阅读(252) 评论(0) 推荐(1) 编辑
摘要:反转从位置 m 到 n 的链表。请使用一趟扫描完成反转 思想:首先判断链表是否合法,并且判断输入的m和n是否合法 定义dummyHead结点,让它指向头结点的前驱,再定义cur,让它指向dummyHead,找到m位置的前驱结点,让cur指向它,接下来的操作和链表逆序一样,只不过只进行n-m次。 代码 阅读全文
posted @ 2019-04-02 06:21 码到成功hy 阅读(316) 评论(0) 推荐(0) 编辑
摘要:思想:解题思路和链表逆序思想有点相同之处,以两个元素为一组,将后面的元素放在前面元素前面即可,直到链表结尾。首先定义前驱结点dummyHead,让他指向头结点,也就是头结点的前驱结点,在定义cur结点指向dummyHead,cur这个结点就是每次要移动两个结点,以便将他后面的结点和后面的后面结点交换 阅读全文
posted @ 2019-04-01 17:01 码到成功hy 阅读(237) 评论(0) 推荐(0) 编辑
摘要:思想: 思想:用快慢指针先判断是否有环,有环则 假设头结点到环入口距离为n,环入口到快慢指针相遇结点距离为m,则慢指针走的路程 为m+n,而快指针走的路程为m+n+k*l (k*l表示绕环走的路程),我们知道快指针路程是慢指针 路程二倍,则k*l = m+n; 找到相遇结点后,让快指针指向头结点,然 阅读全文
posted @ 2019-04-01 07:33 码到成功hy 阅读(565) 评论(0) 推荐(0) 编辑

获取

hahah

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