首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
律师来之前我是不会说一句话的
百度_自动驾驶_测试开发工程师
获赞
26
粉丝
12
关注
0
看过 TA
123
男
长春理工大学
2023
测试开发
IP属地:北京
小妖精的夏天
私信
关注
拉黑
举报
举报
确定要拉黑律师来之前我是不会说一句话的吗?
发布(99)
刷题
律师来之前我是不会说一句话的
2021-09-12 08:41
百度_自动驾驶_测试开发工程师
力扣 92. 反转链表 II
题目描述: 给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。 解析: Java: public ListNode reverseBetween(ListNode head, int left, int right) { ListNode prev = null; ListNode curr = head; ListNode next = head; for(int i = 1; i ...
0
点赞
评论
收藏
转发
律师来之前我是不会说一句话的
2021-09-11 15:18
百度_自动驾驶_测试开发工程师
力扣 206. 反转链表
题目描述: 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 解析: Java: public ListNode reverseList(ListNode head) { ListNode prev = null; ListNode curr = head; ListNode next = head; while(curr != null) { next = curr.next; curr.next = prev; prev = curr...
0
点赞
评论
收藏
转发
律师来之前我是不会说一句话的
2021-09-10 15:54
百度_自动驾驶_测试开发工程师
力扣 83. 删除排序链表中的重复元素
题目描述: 存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。返回同样按升序排列的结果链表。 解析:1.定义指针curr指向头节点2.while循环整个链表,判断指针指的值是否和下一个值相等如果相等,则当前指针curr所指的节点指向下下个节点如果不相等,则指针curr移动到下一个节点 Java: public ListNode deleteDuplicates(ListNode head) { ListNode curr = head; while(curr != null && cur...
0
点赞
评论
收藏
转发
律师来之前我是不会说一句话的
2021-09-10 10:36
百度_自动驾驶_测试开发工程师
力扣 73. 矩阵置零
题目描述: 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 解析: 1.检查并标记第一行和第一列是否有零(firstColHasZero和firstRowHasZero)2.使用第一行和第一列,来标记其余行列是否含有零3.接下来,利用第一行和第一列的标零情况,将matrix中的数字标零4.最后,处理第一行和第一列如果firstColHasZero等于true,将第一列全设为零如果firstRowHasZero等于true,将第一行全设为零 Java: public void setZeroes(int[][] matrix) {...
0
点赞
评论
收藏
转发
律师来之前我是不会说一句话的
2021-09-09 19:36
已编辑
百度_自动驾驶_测试开发工程师
力扣 143. 重排链表
题目描述: 给定一个单链表 L 的头节点 head ,单链表 L 表示为: L0 → L1 → … → Ln-1 → Ln请将其重新排列后变为:L0 → Ln → L1 → Ln-1 → L2 → Ln-2 → …不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 解析: 1.判断链表的个数,如果小于等于2,直接返回即可2.利用快慢指针找到中间节点,将链表分为前后链表3.定义一个函数,逆转中间节点后面的链表4.将逆转后的链表插入到前面的链表 Java: public void reorderList(ListNode head) { if(head == null |...
0
点赞
评论
收藏
转发
律师来之前我是不会说一句话的
2021-09-09 10:57
百度_自动驾驶_测试开发工程师
力扣 70. 爬楼梯
题目描述: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。 解析: 记忆化数组memo[i-2] 3memo[i-1] 5memo[i] = memo[i-2] + memo[i-1] 8 Java: public int climbStairs(int n) { if(n == 1 || n == 2) { return n; } int[] memo = new int[n+1]; memo[1] ...
0
点赞
评论
收藏
转发
律师来之前我是不会说一句话的
2021-09-08 16:03
百度_自动驾驶_测试开发工程师
力扣 66. 加一
题目描述: 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。 解析: 1.首先从后往前遍历数组如果最后的个位数不是9的话,则直接加一即可如果最后的个位数是9的花,则使该数更新为零2.遍历循环后,只剩下最后一种数组里都是[9,9,9...]的情况,此时digits数组为[0,0,0...]新建一个数组result,把数组的第一位数设置为一,然后拼接digits数组,最后返回数组result Java: public int[] plusOne(int[] di...
0
点赞
评论
收藏
转发
律师来之前我是不会说一句话的
2021-09-08 11:21
已编辑
百度_自动驾驶_测试开发工程师
力扣 62. 不同路径
题目描述: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径? 解析: 记忆化的二维数组 Java: public int uniquePaths(int m, int n) { int[][] memo = new int[n][m]; for(int row = 0; row < n; row++) { memo[row][0] = 1; } ...
0
点赞
评论
收藏
转发
律师来之前我是不会说一句话的
2021-09-07 20:21
百度_自动驾驶_测试开发工程师
力扣 56. 合并区间
题目描述: 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。 解析: 1.将数组中的区间按照起始位置排序2.用curr数组记录当前合并的最大区间,遍历数组中的每一个区间,如果当前区间的起始位置小于curr的终点位置,则可以继续合并,所以合并并更新curr的起始位置和终止位置。如果当前区间的起始位置大于curr的终止位置,则无法合并。所以将curr加入到result里,并用当前的区间替换curr值。3.循环后判断curr的长度是否为...
0
点赞
评论
收藏
转发
律师来之前我是不会说一句话的
2021-11-18 08:51
已编辑
百度_自动驾驶_测试开发工程师
力扣 230. 二叉搜索树中第K小的元素 & 剑指 Offer 54. 二叉搜索树的第k大节点
230题目描述: 给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 1 开始计数)。 解析: 递归方法 二叉搜索树特点是左节点值小于根节点,而右节点值大于根节点 1.定义一个函数count计算二叉搜索树左子树的节点个数 2.用k值和左子树节点个数的值比较,分别判断三种情况 第k个元素在根节点上,直接返回根节点的值 第k个元素在左子树上,则返回二叉搜索树左子树节点的值 第k个元素在右子树上,则返回二叉搜索树右子树节点的值 Java: public int kthSmallest(TreeNode root, int k) { ...
0
点赞
评论
收藏
转发
律师来之前我是不会说一句话的
2021-09-07 11:12
百度_自动驾驶_测试开发工程师
力扣 55. 跳跃游戏
题目描述: 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。 解析: 贪心算法:1.定义一个变量maxJump为数组最大下标index值2.遍历循环数组,判断当前的值和下标index值的加和是否大于等于maxJump,如果等于,则更新maxJump的值为当前index值3.最后判断maxJump是否等于零,是则返回true,否则返回false Java: public boolean canJump(int[] nums) { int maxJump = nums.length ...
0
点赞
评论
收藏
转发
律师来之前我是不会说一句话的
2021-09-06 20:21
已编辑
百度_自动驾驶_测试开发工程师
力扣 54. 螺旋矩阵
题目描述: 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 解析: 1.如果数组为空,则返回空数组2.定义四个边界及当前方向3.当左边界小于等于右边界,且上边界小于等于下边界时,执行while循环:按照右、下、左、上的顺序,依次将路径上的字符添加到结果里4.while循环结束后,返回结果 Java: public List<Integer> spiralOrder(int[][] matrix) { List<Integer> result = new ArrayList(); if(ma...
0
点赞
评论
收藏
转发
律师来之前我是不会说一句话的
2021-09-06 09:10
百度_自动驾驶_测试开发工程师
力扣 53. 最大子序和
题目描述: 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 解析: 1.可以理解为寻找连续子数组,使数组加和最大。2.新创建一个数组,每次去比较nums数组中当前的值(nums[i])和当前的值加上nums[i-1]的大小,然后去判断是否需要开新的数组,每次比较把较大值存入变量max中3.如果当前较大值大于max,则更新max,否则不更新,最后返回max Java: public int maxSubArray(int[] nums) { int[] memo = new int[nums.length]; ...
0
点赞
评论
收藏
转发
律师来之前我是不会说一句话的
2021-09-04 10:42
百度_自动驾驶_测试开发工程师
力扣 49. 字母异位词分组
题目描述: 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。字母异位词 是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母都恰好只用一次。 解析:1.检查是否为空数组2.遍历所有字符串,然后建立一个长度为26的数组,起始值为0。将字母出现的频率放到数组的对应位置里(利用ascii码)3.遍历数组,按照相同字母出现频率进行分组归类(使用hashmap)4.遍历map,将结果返回 Java: public List<List<String>> groupAnagrams(String[] strs) { if(str...
0
点赞
评论
收藏
转发
律师来之前我是不会说一句话的
2021-09-04 09:10
百度_自动驾驶_测试开发工程师
力扣 24. 两两交换链表中的节点
题目描述: 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 解析:按照这六步走即可。 Java: public ListNode swapPairs(ListNode head) { ListNode dummy = new ListNode(0); dummy.next = head; ListNode current = dummy; while(current.next != null && current.next.next != ...
0
点赞
评论
收藏
转发
1
2
3
4
5
6
7
工具箱
TA的圈子
暂未加入圈子
TA的圈子
TA的笔记
暂无笔记
TA的笔记
登录
0
天
已登录
0
天
连续登录
0
人
今日访客
牛客网
牛客企业服务