likou
文章平均质量分 58
简单题目的介绍
大白鲨哇
这个作者很懒,什么都没留下…
展开
-
通过队列实现栈
将不为空的队列里的元素全部通过for循环(pop方法),每次循环将栈顶元素赋给新建变量value(队列遵循先进先出),在通过另一个队列的offer方法插入到该空队列里,最后插入的元素即为出栈元素(栈遵循后进后出),返回最后一个元素即可。请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(构造方方法的实现:初始化两个队列qu1和qu2(调用LinkedList方法)判断哪个队列不为空,不为空的队列通过offer方法将新元素插入到其中。在栈中,要得到的栈顶元素是4,则在两个队列中,原创 2024-09-27 18:37:17 · 245 阅读 · 0 评论 -
设计循环队列-------------
如果直接rear+1,rear =8,不能重新进入循环,超出范围,这时我们就要借助一个公式:rear/front = (rear+1)%length(数组长度)。不为空的话,由于rear位置插入新值后都会往后再走一步,要获取队尾的元素,需要将创建一个整形index来接收 rear-1 ,再通过elem数组返回index位置的值。设计你的循环队列实现。在元素入队(插入)之前,先判断队列是否已满(布尔方法 isFull(判断条件:rear的下一个元素是否为front)),如果已经满,返回false.原创 2024-09-27 17:46:22 · 808 阅读 · 0 评论 -
括号匹配问题 -------------
有效括号问题原创 2024-09-25 23:13:16 · 319 阅读 · 0 评论 -
环形链表 1.2 版本
1.设置两个节点,一个fast(快节点)和slow(慢节点),fast速度是slow的两倍,则那在相遇之前,fast走的距离为slow的2倍。设置一个slow和fast的相遇点,假设起始点head与入口点的距离为X,相遇点到入口点的距离为Y,圆环的长度为C。3.有环,则将slow指针置为head,和fast进行遍历直到相遇的点,即为入环的第一个节点。指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数。,仅仅是为了标识链表的实际情况。如果链表无环,则返回。,则在该链表中没有环。原创 2024-09-24 22:45:03 · 102 阅读 · 0 评论 -
链表的回文结构 1.2
对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。给定一个链表的头指针,请返回一个bool值,代表其是否为回文结构。保证链表长度小于等于900。测试样例:1->2->2->1返回:true什么是回文?:回文是指从前向后读和从后向前读都相同的字符串或数字。例如,“abcba”或数字“121”都是回文。原创 2024-09-24 13:27:45 · 521 阅读 · 0 评论 -
消失的数字:
实际数组的总和我们可以创建一个变量Actualsum,直接利用for循环将数组与Actualsum相加即可。以例1来看,,我们想要期望的总和不是1+2+3吗?而当前数组长度为3,直接利用等差数列和公式。n*(n+1)/2 得到期望总和。(总有一个零占了少的数字的位置,所以可以利用这一点来求)如何计算期望的总和呢?我们不妨利用数组长度来解决,找到缺失的那个整数,需要我们用。最后返回两和之差即可.原创 2024-09-15 18:07:54 · 307 阅读 · 0 评论 -
删除有序数组中的重复项
将 nums[ i] = nums[ j];这样新的元素就保留在了nums[i]中,最终即可得到。期间若 num[i]!=num[j] 说明出现了一个新的唯一元素,此时让 i自增1,设置一个索引i = 0,追踪去重后的元素,之后从 j = 1开始遍历数组,不需要考虑数组中超出新长度后面的元素。,返回删除后数组的新长度。删除重复出现的元素,使每个元素。函数应该返回新的长度。的前两个元素被修改为。原创 2024-09-16 10:18:10 · 235 阅读 · 0 评论 -
轮转数组 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数
我们可以创建一个长度为原数组长度2倍的数组,轮转k个相当于获取n-k位置后的n个数字.同时我们注意,当k>n时,此时需要轮转次数位 k%n(提前取余数)此时我们需要借助一个函数ArrayCopy(nums,0,arr,0,n)向右轮转 1 步: [99,-1,-100,3]向右轮转 2 步: [3,99,-1,-100]原创 2024-09-16 09:33:20 · 310 阅读 · 0 评论 -
java之杨辉三角问题
除了第一行和第二行之外,其他行的元素都是首尾元素为1且该行的其他元素都是上一行相邻元素之和。(2):设置两个整形int val1 和 int val2,获取上一行相邻的两个元素( i。2.创建一个只有元素1的列表(作为第一行)并将其添加到数组ret中。创建当前行的列表,同时通过add函数添加该行的第一个元素1。5.添加当前行的最后一个元素1:curRow.add(1)(3):创建一个整形列表preRow用来接收上一行的值。(1):从第二个元素for循环到当前倒数第二个元素。(2):通过创建整形列表。原创 2024-09-20 22:42:14 · 446 阅读 · 0 评论