剑指offer
makersy
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
剑指offer-两个链表的第一个公共结点
题目描述输入两个链表,找出它们的第一个公共结点。题解首先判断两个链表的长度是否相等,然后从长的那个链表往后走,令两个游标到链表终点的距离相等,再开始同步向后走并比较,遇到相同的就返回。这样做的原理是:如果两个链表中有相同的节点,那么该节点之后的部分全部相同。因此相同的节点,距离各自链表的距离一定是相等的,上述操作就是为了保证这一点。/*public class ListNode { ...原创 2019-04-04 16:52:03 · 152 阅读 · 0 评论 -
【dp】构造回文
构造回文题目给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?输出需要删除的字符个数。输入描述:输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.输出描述:对于每组数据,输出一个整数,代表最少需要删除的字符个数。输入例子1:abcdagoogle输出例子1:22题...原创 2019-06-08 10:17:54 · 259 阅读 · 0 评论 -
LeetCode 5. 最长回文子串
题目链接给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”题解首先要理解回文的意义,它意味着一个字符串从前往后、从后往前看都是一样的。也就是说,我们可以找到一个中点,从这个中点开始,左右对称。于是...原创 2019-05-31 22:33:30 · 155 阅读 · 0 评论 -
剑指offer-二叉树中和为某一值的路径
题目描述题目地址输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)题解采用dfs思想,进行深度优先遍历,用一个ArrayList存储当前路径,另一个ArrayList存储满足条件的路径。每当进入一个节点,就向当前路径添加当前节点,随后计算...原创 2019-05-26 10:51:20 · 173 阅读 · 0 评论 -
paypal笔试: 关联用户(并查集)
题目PayPal上海团队一直致力于风险控制,风控需要收集各种信息,有时需要通过地理位置找出用户与用户之间存在的关联关系,这一信息可能会用于找出用户潜在存在的风险问题。我们记两个用户的关联关系可以表示为:(1) user1,user2与他们最常发生交易的地理位置分别为(x1, y1),(x2, y2),当这两个用户的欧氏距离不超过d时,我们就认为两个用户关联。(2) 用户关联性具有传递性,若用...原创 2019-05-21 15:15:54 · 697 阅读 · 0 评论 -
剑指offer-数组中重复的数字
题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。题解主要是利用数组中的数都是 0~n-1 的这个条件。相当于进行了hash。1. 用辅助空间记录有没有重复值时间O(...原创 2019-04-13 10:44:57 · 271 阅读 · 0 评论 -
剑指offer-翻转单词顺序列
题目描述牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?题解多次反转。可以先把...原创 2019-04-08 16:22:09 · 234 阅读 · 0 评论 -
剑指offer-和为S的两个数字
题目题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。输出描述:对应每个测试案例,输出两个数,小的先输出。题解设置头尾两个指针,和比sum大先往左移动尾指针,比sum小往右移动头指针,这样可以保证遍历完所有情况。然后每次都和最小乘积比较并记录。当 头指针>尾指针 时就得出满足题意的结果。i...原创 2019-04-08 15:23:27 · 130 阅读 · 0 评论 -
剑指offer-数组中只出现一次的数字
题目描述一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。题解这道题最容易想到的是用map来做,遍历数组put进map中,第二次put的就标记下,然后把没标记的存起来就好了,这个方法理论上是O(nlogn)的。就像这样:public class Solution { public void FindNumsAppearOnce(int []...原创 2019-04-04 22:53:36 · 175 阅读 · 0 评论 -
剑指offer-数组中的逆序对
题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007输入描述题目保证输入的数组中没有的相同的数字数据范围:对于%50的数据,size<=10^4对于%75的数据,size<=10^5对于%100的数据,size&l...原创 2019-04-04 15:48:28 · 208 阅读 · 0 评论 -
剑指offer-正则表达式匹配
题目描述请实现一个函数用来匹配包括’.'和 ‘*’ 的正则表达式。模式中的字符 ‘.’ 表示任意一个字符,而 ‘*’ 表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配。题解markdown里面的 * 需要转义,一个个转实在有点麻烦,还是把...原创 2019-07-09 11:26:26 · 204 阅读 · 0 评论
分享