2020年10月27日

[LeetCode]138. 复制带随机指针的链表

摘要:###题解 方法一:hashmap构造旧节点和新节点的映射关系,为新节点next、random指针赋值。 方法二(空间复杂度更优):把新节点连接到对应旧节点后面,为新节点random指针赋值,把新节点拆出来连到新链表。 ###代码 方法一 class Solution { public Node c 阅读全文

posted @ 2020-10-27 19:42 coding_gaga 阅读(2) 评论(0) 推荐(0) 编辑

[LeetCode]归并排序、剑指 Offer 51. 数组中的逆序对(普通解法版-开临时数组)

摘要:###归并排序 ###代码 package Offer; public class mergeSort { public static void main(String[] args) { int[] nums = new int[] { 1, 3, 2, 3, 1, -1, 100 }; merg 阅读全文

posted @ 2020-10-27 12:40 coding_gaga 阅读(7) 评论(0) 推荐(0) 编辑

2020年9月15日

[Java并发]实现两个线程交替打印奇偶数(volatile+yield实现)

摘要:###解题思路 实现一个类OddEven 有一个打印奇数的方法,有一个打印偶数的方法。 类中有一个volatile变量 ,用来控制当前状态是该哪个方法打印。 方法中打印每个数前首先判断volatile变量的状态,不该自己打印就使用Thread.yield()让出CPU,该自己就打印并调换状态。 在主 阅读全文

posted @ 2020-09-15 21:27 coding_gaga 阅读(49) 评论(0) 推荐(0) 编辑

2020年8月20日

[算法与数据结构]使用Java泛型实现栈

摘要:###题解 1 实现内部类node 2 维护top为头节点的链表 3 操作 操作1:push() 操作2: pop() 操作3: isEmpty() ###代码 package Exam; class MyStackStruct<T> { private class Node<U> { U val; 阅读全文

posted @ 2020-08-20 00:04 coding_gaga 阅读(26) 评论(0) 推荐(0) 编辑

2020年8月17日

[LeetCode]剑指 Offer 52. 两个链表的第一个公共节点

摘要:###题解 nodeA走一个链表A(A独有+公共),再走B独有的长度, nodeB走一个链表B(B独有+公共),再走A独有的长度。 结果:两者相遇点即为交点;若没有交点,两者都走到null,会返回null。 ###代码 public class Solution { public ListNode 阅读全文

posted @ 2020-08-17 22:10 coding_gaga 阅读(18) 评论(0) 推荐(0) 编辑

2020年8月8日

[网易秋招笔试]第2题字典序题目(数组,思维)

摘要:###题目 ###题解 题意:根据m长子序列求长度为n的字典序最小的原序列,原序列元素为1ton; 题解:使用n个数中除子序列外剩余数组成otherNum数组。 两个指针指向两个数组首元素,比较子序列当前元素与otherNum数组当前元素,小的插入新数组,指针右移。 ##代码 import java 阅读全文

posted @ 2020-08-08 17:03 coding_gaga 阅读(48) 评论(0) 推荐(0) 编辑

2020年7月26日

[算法]类似n sum个数的问题(DP)

摘要:###题目 求和为target的数组元素组合数,含重复。 例: 输入 arr = { 1, 2, 3, 3, 4 } ,target = 6 输出 4 ###题解 dp[i][j]代表到数组第i-1个元素,目标和为j的组合数。 ###代码 package DP; public class Targe 阅读全文

posted @ 2020-07-26 23:27 coding_gaga 阅读(44) 评论(0) 推荐(0) 编辑

2020年7月22日

[字节秋招笔试]二进制1的个数

摘要:###题目 输入正整数N,求从1到N所有数包含的二进制1的个数。 ###题解 这是一道找规律题==。 例:对于nums=1101(2进制)的方法compute(nums): 可以把它分成[1000(二进制),1101(2进制)]中二进制1的个数、[000(二进制),111(二进制)]中二进制1的个数 阅读全文

posted @ 2020-07-22 21:07 coding_gaga 阅读(126) 评论(0) 推荐(0) 编辑

2020年7月21日

[LeetCode]64. 最小路径和(DP)

摘要:###题目 给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入: [10,9,2,5,3,7,101,18] 输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/pr 阅读全文

posted @ 2020-07-21 00:02 coding_gaga 阅读(38) 评论(0) 推荐(0) 编辑

2020年6月25日

[二叉树-根到叶的子路径]路径总和 III (两层递归)

摘要:##题目437. 路径总和 III 给定一个二叉树,它的每个结点都存放着一个整数值。 找出路径和等于给定数值的路径总数。 路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。 ###题解 两层递归: 内层递归函数计算每个节点为根结点的字数路径和与给定值相 阅读全文

posted @ 2020-06-25 15:43 coding_gaga 阅读(32) 评论(0) 推荐(0) 编辑

导航

统计