上一页 1 2 3 4 5 6 7 ··· 17 下一页
摘要: 题目连接 92. 反转链表 II 题目分析 题目要求我们用一趟扫描完成旋转,我们只需要先把[m,n]这段区间内的链表定位了就容易做了。当我们完成定位后就是普通的三指针反转链表 代码实现 /** * Definition for singly-linked list. * public class L 阅读全文
posted @ 2020-10-04 18:12 ZJPang 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 题目链接 1525. 字符串的好分割数目 题目思路 使用两个数组,记录在第i个位置分割字符串的时候,其[0,i-1]之间出现字符串的种数和[i, s.length()-1]之间出现的字符串种数。然后再使用一次遍历去检查如果分割第i个位置,其左右的大小是否相等即可。 由于题目输入全部都是小写字符,所以 阅读全文
posted @ 2020-09-28 16:03 ZJPang 阅读(111) 评论(0) 推荐(0) 编辑
摘要: base 广州,一面问的问题还是非常基础的。 自我介绍 算法题 过半数 hashmap 数据结构 hashmap 是否线程安全 map怎么实现线程安全 concurrenthashmap 是怎么实现线程安全的? 分段锁和cas+synchronized在锁的粗细度有无区别? synchronized 阅读全文
posted @ 2020-09-28 15:59 ZJPang 阅读(1110) 评论(0) 推荐(0) 编辑
摘要: 题目链接 117. 填充每个节点的下一个右侧节点指针 II 题目分析 这个题的普通版本其实比较好实现,利用层序遍历去保存当前层的所有节点然后再使用next指针重建链表即可。 但是有个进阶要求:使用常数级别的额外空间,这里就比较的难受了。 其实再看回题目,根节点这层的链表肯定只有一个节点,那么我们可以 阅读全文
posted @ 2020-09-28 09:34 ZJPang 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 题目链接 1529. 灯泡开关 IV 题目思路 这个题我的思路就是贪心,就嗯贪。 我们只需要用一个标志位来记录当前位置的灯泡开关情况,如果当前位置和目标位置不同的话,就反转一次,同时总记录+1. 那么我们这个反转就可以使用位运算,因为灯泡只存在0,1两种情况,我们翻转的时候只需要异或上1即可。 代码 阅读全文
posted @ 2020-09-21 19:24 ZJPang 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 题目链接 165. 比较版本号 题目思想 这个题没啥好说的,就是直接模拟即可,但是要注意Integer包装类的数值大小比较。另外就是字符串分割的时候,"."需要转义处理一下 代码实现 class Solution { //Integer不能直接比较大小,要么拆箱变成int,要么用equals来比较。 阅读全文
posted @ 2020-09-20 16:19 ZJPang 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 题目链接 312. 戳气球 题目分析 以两个数作为左右端点,找出最优解中它们中间那个戳破的气球,中间这个气球把整个队列分为了2部分,要想让中间这个气球和2个端点靠在一起,就需要先把分开的2部分的气球戳破。 dp[i][j]表示i~j最大值,i,j不戳破。 比如k气球在i,j之间时(i,k,j)被戳破 阅读全文
posted @ 2020-09-19 16:20 ZJPang 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 题目链接 605. 种花问题 题目分析 思路比较简单,直接写代码注释里了。 代码实现 class Solution { public boolean canPlaceFlowers(int[] flowerbed, int n) { int res = 0; //假想在数组中左右边界添加0,便于处理 阅读全文
posted @ 2020-09-18 19:16 ZJPang 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 题目链接 47. 全排列 II 题目分析 很明显的回溯问题了,与1的不同在于这个2存在重复的数字。那么我们需要考虑可靠的去重方案。 我们可以先对数组进行预排序,那么我们在回溯过程中,如果选择当前的数字之后,当前轮次的下一个选择的数字就应该是与当前数字不同的那一个,这样可以确保我们不会选出重复的方案。 阅读全文
posted @ 2020-09-18 10:35 ZJPang 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 题目链接 990. 等式方程的可满足性 题目分析 这个题目其实非常典型的并查集的内容了,我们首先先对等号的式子建立一个并查集。然后再使用一轮循环去判断不等号的情况,如果不等号的左右两个符号属于同一个集合,那么就说明这个式子有问题,返回false即可。否则就返回true。 代码实现 class Sol 阅读全文
posted @ 2020-09-17 11:20 ZJPang 阅读(124) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 17 下一页