首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
剑指offer
解夏126
创建于2022-05-01
订阅专栏
刷题
暂无订阅
共75篇文章
创建于2022-05-01
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
找出数组中重复的数字
给定一个长度为 n 的整数数组 nums,数组中所有的数字都在 0∼n−1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。给定 nums = [2, 3, 5, 4, 3, 2, 6, 7]。返回 2 或 ...
二维数组中的查找
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。如果输入查找数值为5,则返回false。for(int i = 0;i < array.for(int j = 0...
替换空格
请实现一个函数,把字符串中的每个空格替换成"%20"。你可以假定输入字符串的长度最大是1000。 注意输出字符串的长度可能大于1000。输入:"We are happy.输出:"We%20are%20happy.for(int i = 0;i < str.if(str.newst...
从尾到头打印链表
输入一个链表的头结点,按照 从尾到头 的顺序返回节点的值。 返回的结果用数组存储。temp = temp.reverseArray[i] = head.head = head.
重建二叉树
输入一棵二叉树前序遍历和中序遍历的结果,请重建该二叉树。时间复杂度O(n) 初始化时,用哈希表记录每个值在中序遍历中的位置,这样我们在递归到每个节点时,在中序遍历中查找根节点位置的操作,只需要 O(1)的时间。而创建每个节点需要的时间是 O(1),所以总时间复杂度是 O(n)。i...
二叉树的下一个节点
给定一棵二叉树的其中一个节点,请找出中序遍历序列的下一个节点。假定二叉树是:[2, 1, 3, null, null, null, null], 给出的是值等于2的节点。则应返回值等于3的节点。解释:该二叉树的结构如下,2的后继节点是3。//1.if(p.p=p.while(p....
用两个栈实现队列
queue.queue.queue.queue.queue./** Initialize your data structure here. /** Push element x to the back of queue. st1./** Removes the element ...
斐波那契数列
输入一个整数 n ,求斐波那契数列的第 n 项。假定从0开始,第0项为0。 输入一个整数 n ,求斐波那契数列的第 n 项。假定从0开始,第0项为0。
旋转数组的最小数字
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个升序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。数组可能包含重复项。注意:数组内所含元素非负,若数组大小为0,请返回-1。...
矩阵中的路径
请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。在矩阵中任选一点为路径的起点。如果路径上的第i个...
机器人的运动范围
地上有一个 m 行和 n 列的方格,横纵坐标范围分别是 0∼m−1 和 0∼n−1。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格。但是不能进入行坐标和列坐标的数位之和大于 k 的格子。解释:当k为18时,机器人能够进入方格(35,37),因为3...
剪绳子
给你一根长度为 n 绳子,请把绳子剪成 m 段(m、n 都是整数,2≤n≤58 并且 m≥2)。每段的绳子的长度记为k[0]、k[1]、……、k[m]。例如当绳子的长度是8时,把它剪成长度分别为2、3、3的三段,此时得到最大的乘积18。dp[i] = Math.max(dp[i]...
二进制中1的个数
输入一个32位整数,输出该数二进制表示中1的个数。负数在计算机中用其绝对值的补码来表示。解释:9的二进制表示是1001,一共有2个1。一共有31个1。
数值的整数次方
实现函数double Power(double base, int exponent),求base的 exponent次方。不得使用库函数,同时不需要考虑大数问题。输出:0.
在O(1)时间删除链表结点
给定单向链表的一个节点指针,定义一个函数在O(1)时间删除该结点。假设链表一定存在,并且该节点一定不是尾节点。node.val = node.next.ListNode temp = node.node.next = temp.temp.
正则表达式匹配
请实现一个函数用来匹配包括’.‘和’*'的正则表达式。模式中的字符’.‘表示任意一个字符,而’*'表示它前面的字符可以出现任意次(含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但是与"aa.a"和"ab*a"...
删除链表中重复的节点
在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留。if(pHead==null||pHead.if(pHead.val==pHead.next.ListNode node=pHead.while(node != null && node.val ==...
表示数值的字符串
请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100",“5e2”,"-123",“3.1416"和”-1E-16"都表示数值。但是"12e",“1a3.14”,“1.2.3”,"±5"和"12e+4.3"都不是。小数可以没有整数部分,例如.123等...
调整数组顺序使奇数位于偶数前面
输入一个整数数组,实现一个函数来调整该数组中数字的顺序。使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分。for(i = 0;i < nums.
链表中倒数第k个节点
输入一个链表,输出该链表中倒数第k个结点。listNode = listNode.listNode = listNode.
下一页