算法题
文章平均质量分 66
开始日常刷刷题记录
huanhuanya66
一个摆烂两年半的大三学生
展开
-
DAY8.leetcode
定义public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length);可以看到,它是一个静态本地方法,由虚拟机实现,效率自然比用java一个个复制高。方法含义从源数组src取元素,范围为下标srcPos到srcPos+length-1,取出共length个元素,存放到目标数组中,存放位置为下标destPos到destPos+length-1。152. 乘积最原创 2022-02-26 12:51:42 · 118 阅读 · 0 评论 -
DAY4.leetcode
好子集给你一个整数数组nums。如果nums的一个子集中,所有元素的乘积可以表示为一个或多个 互不相同的质数 的乘积,那么我们称它为好子集。比方说,如果nums = [1, 2, 3, 4]:[2, 3],[1, 2, 3]和[1, 3]是 好子集,乘积分别为6 = 2*3,6 = 2*3和3 = 3。[1, 4] 和[4]不是 好子集,因为乘积分别为4 = 2*2 和4 = 2*2。请你返回 nums中不同的好子集的数目对109 + 7...原创 2022-02-22 22:51:40 · 93 阅读 · 0 评论 -
DAY3.动态规划专题
二叉树也不一定要什么左右节点的结构,可以根据自己需要建立,采用递归思想,逻辑上为二叉树。且可以保留沿路的path,学到了。可以得到不重复的子序列。dp...原创 2022-02-22 22:40:58 · 186 阅读 · 0 评论 -
DAY3.剑指
1.给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log (m+n)) 。法一,找第k小的数,每一次比较都去掉最大值较小的左半部分数组,然后减小k。因为每一个数组左半部分都是k/2个元素或者k/2-1,这样小的那一部分里面是不可能有中位数的public double findMedianSortedArrays(int[] nums1, int[] nums2) { int n原创 2022-02-21 15:20:50 · 734 阅读 · 0 评论 -
Day2.剑指
剑指 Offer 35. 复杂链表的复制请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。示例 1:输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]]输出:[[7,null],[13,0],[11,4],[10,2],[1,0]]示例 2:输入:head = [[1,1],[2,1]]输出:[[1,1],原创 2022-02-20 23:16:29 · 53 阅读 · 0 评论 -
Day1.剑指offer入门刷题记录
1.剑指 Offer 09. 用两个栈实现队列用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead操作返回 -1 )示例 1:输入:["CQueue","appendTail","deleteHead","deleteHead"][[],[3],[],[]]输出:[null,null,3,-1]示例 2:输入:["CQueue",".原创 2022-02-19 22:03:04 · 74 阅读 · 0 评论