自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 资源 (1)
  • 收藏
  • 关注

原创 Query 聚类

搜索系统优化长尾 query。想了解一下长尾 query 长什么样?大体上都有几类?最好能归类,一类一类处理。

2023-02-02 11:32:58 462

原创 搜索引擎关键字智能提示实践

搜索关键字智能提示是一个搜索应用的标配,主要作用是避免用户输入错误的搜索词,并将用户引导到相应的关键词上,以提升用户使用体验。

2023-02-02 11:27:35 1024

原创 【每日一题】调整搜索二叉树中两个错误的节点

一棵二叉树原本是搜索二叉树,但是其中有两个节点调换了位置,使得这棵二叉树不再是搜索二叉树,请找到这两个错误节点并返回。已知二叉树中所有节点的值都不一样,给定二叉树的头节点 head,返回一个长度为 2 的二叉树节点类型数组 errs,errs[0] 表示一个错误节点,errs[1] 表示另一个错误节点。

2022-11-16 23:24:16 402

原创 【每日一题】LFU 缓存

一个缓存结构需要实现如下功能:但是缓存最多放 K 条记录,如果新的 K + 1 条记录需要加入,就需要根据策略删掉一条记录,然后才能把新记录加入。这个策略为:在缓存结构的 K 条记录中,哪一个 key 从进入缓存结构的时刻开始,被调用 set 或者 get 次数最少,就删掉这个key 的记录;如果调用次数最少的 key 有多个,上次调用发送最早的 key 被删除。这个就是 LFU 缓存替换算法。实现这个结构,K 作为参数。

2022-11-15 20:59:24 738

原创 【每日一题】矩形重叠个数

平面内有 n 个矩形,第 i 个矩形的左下角坐标为(x1[i], y1[i]),右上角坐标为:(x2[i], y2[i])。如果两个或多个矩形有公共区域,则认为他们是相互重叠的(不考虑边界和角落)。请你计算出平面内重叠矩形数量最多的地方,有多少个矩形相互重叠?

2022-11-12 22:09:43 686

原创 【每日一题】线段重叠

一条直线上有 n 个线段,第 i 个线段的坐标为$(x_1[i],x_2[i])$。请你计算出直线上重叠线段数量最多的地方,有多少个线段相互重叠?

2022-11-12 00:02:33 639

原创 【每日一题】环形加油站

N 个加油站组成一个环形,给定两个长度都是 N 的非负数组 oil 和 dis(N > 1),oil[i] 表示第 i 个加油站存的油可以跑多少千米,dis[i] 代表第 i 个加油站到环中下一个加油站相隔多少千米。假设你有一辆邮箱足够大的车,初始时车里没有油。如果车从第 i 个加油站出发,最终可以回到这个加油站,那么第 i 个加油站就算良好出发点,否则就不算。请返回长度为 N 的 boolean 数组 res,res\[i] 代表第 i 个加油站是不是良好出发点。

2022-11-10 20:58:33 597

原创 【每日一题】正数分裂

title: 正数分裂tags: 每日一题 动态规划typora-root-url: ../../dongyifeng.github.io“给定一个正数 1,裂开的方法有一种:(1)给定一个正数 2,裂开的方法有一种:(1,1),(2)给定一个正数 3,裂开的方法有一种:(1,1,1),(1,2),(3)给定一个正数 4,裂开的方法有一种:(1,1,1,1),(1,1,2),(1,3),(2,2),(4)给定一个正数 n,求裂开的方法数。”亮点:斜率优化方案一:暴力递归f ( pr

2022-11-09 10:28:29 615

原创 【每日一题】包含所有字符的最小子串长度

“给定字符串 str1 和 str2 ,求 str1 的子串中含有 str2 所有字符的最小子串长度。【举例】str1 = “abcde” ,str2 = “ac“ 因为 ”abc“ 包含 str2 所有的字符,并且在满足这一条件的 str1 的所有子串中,”abc“ 是最短的,返回 3.str1 = “12345” ,str2 = “344“,最小包含子串不存在,返回 0。”分析:使用 left 和 right 维护一个滑动窗口。right 移动的时机:窗口没有包含 str2 。扩大窗

2022-11-08 00:27:06 434

原创 【每日一题】需要排序的最短子数组长度

“给定一个无序数组 arr,求出需要排序的最短子数组长度。【例如】arr=【1,5,3,4,2,6,7】返回 4,因为只有【5,3,4,2】需要排序。”分析:子数组一定是连续的,所以整个数组可以分为三部分,只有中间一部分是乱序的。我们需要找到乱序部分的起始位置和终止位置。首先我们分析一下这三部分的特征:因为有序1 和有序3 不需要排序,那么有序1排序后一定在最前边一段(数据最小的一段),同理有序3排在最后一段(数据最大的一段):有序1 < 乱序2 < 有序3那么:有序1 &lt

2022-11-07 22:28:50 383

原创 【每日一题】旋变字符串

“一个字符串可以分解成多种二叉树结构。如果 str 长度为 1 ,认为不可分解。如果 str 长度为 N(N > 1),左部分长度可 以为 1 ~ N - 1,剩下的为右部分的长度。左部分和右部分都可以按照同样的逻辑,继续分解。形成的所有结构都是 str 的二叉树结构。比如,字符串“abcd”,可以分解成一下五种结构:任何一个str的二叉树结构中,如果两个节点有共同的父节点,那么这两个节点可以交换位置,这两个节点叫作一个交换组。一个结构会有很多交换组,每个交换组都可以选择进行交换或者不交换

2022-11-05 00:40:12 924

原创 【每日一题】汉诺塔

汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。”汉诺塔问题分三步:将 0 ~ n -1 号圆盘从 from 柱子移动到 other 柱子。将 n 号圆盘从 from 柱子移动到 to 柱子。将 0 ~ n - 1 号圆盘从 other 柱子移动到 to

2022-11-04 15:28:15 1289

原创 【每日一题】打爆气球

【每日一题】打爆气球给定一个数组 arr,代表一排有分数的气球。每打爆一个气球都能获得分数,假设打爆气球的分数为 X,获得分数的规则如下:如果被打爆气球的左边有没打爆的气球,找到离被打爆气球最近的气球,假设分数为 L;如果被打爆气球的右边有没有打爆的气球,找到离被打爆气球最近的气球,假设分数为 R。获得分数为 L * X * R如果被打爆气球的左边有没打爆的气球,找到离被打爆气球最近的气球,假设分数为 L;如果被打爆气球的右边所有气球都已经被打爆。获得分数为:L*X如果被打爆气球的左边所有气球都已经

2022-11-03 10:44:29 235

原创 【每日一题】子数组最大异或和

数组异或和的定义:把数组中所有数异或起来得到的值。给定一个整型数组:arr,其中可能有正、有负、有零,求其子数组的最大异或和

2022-11-02 12:58:52 584

原创 【每日一题】最大宽度坡

给定一个整数数组 A,坡是元组 (i, j),其中 i < j 且 A[i]

2022-10-29 16:16:20 189

原创 【每日一题】完美洗牌

给定一个长度为偶数的数组 arr,长度记为 2*N。前 N 个为左部分,后 N 个为右部分。arr 就可以表示为 【L1,L2,...,Ln,R1,R2,...,Rn】,请将数组调整成 【R1,L1,R2,L2,...,Ln,Rn】的样子。wiggle sort给出一个无序的数组,在原地将数组排列成符合以下规律:nums[0] = nums[2]

2022-10-28 13:05:58 1303

原创 【每日一题】搜索二叉树的最大拓扑结构

给定一棵二叉树的头节点 head,已知所有节点的值都不一样,返回其中最大的且符合搜索二叉树的最大拓扑结构的大小。拓扑结构:不是子树,只要能连起来的结构都算。

2022-10-27 13:39:26 996

原创 【每日一题】正数分裂方法数

给定一个正数 1,裂开的方法有一种:(1)给定一个正数 2,裂开的方法有一种:(1,1),(2)给定一个正数 3,裂开的方法有一种:(1,1,1),(1,2),(3)给定一个正数 4,裂开的方法有一种:(1,1,1,1),(1,1,2),(1,3),(2,2),(4)给定一个正数 n,求裂开的方法数。

2022-10-25 13:43:22 264

原创 【每日一题】最少货币数

给定数组 arr,arr 中所有的值都为正整数。每个值代表一张钱的面值,再给定一个整数 aim 代表要找的钱数,求组成 aim 的最少货币数。

2022-10-24 20:05:23 351

原创 【每日一题】无序数组中最小的第 k 个数

在一个无序数组中,求最小的第 k 个数。

2022-10-23 22:47:14 440

原创 【每日一题】回文串移除方案

给定一个字符串 str,能否从字符串中移除部分(0个或多个)字符使其变为回文串,此处空串认为是回文串,求多少移除方案。(注意:相同字符的由于的移除,认为不同的移除方案)

2022-10-22 11:43:38 492

原创 【每日一题】回文子串的最小切割数

给定一个字符串 str,返回把 str 全部切成回文子串的最小切割数。

2022-10-20 22:44:10 551

原创 【每日一题】最长公共子序列

给定两个字符串 str1 和 str2 ,求两个字符串的最长公共子序列。

2022-10-19 23:39:39 239

原创 【每日一题】最长回文子序列

给定一个字符串 str,求最长的回文子序列。

2022-10-19 21:53:44 486 1

原创 【每日一题】bool 表达式解析

给定一个只由 0(假)、1 (真)、&(逻辑与)、|(逻辑或)、^(s)五种字符组成的字符串 express,再给定一个布尔值 desired。返回 express 能有多少种组合方式,可以达到 desired 的结果。

2022-10-17 09:57:02 299

原创 【每日一题】公式计算

给定一个字符串str,str 表示一个公式,公式里可能有整数,加减乘除和左右括号,返回公式的计算结果。

2022-10-15 10:03:48 432

原创 [每日一题] 01背包问题

给定 n 种物品和一背包。物品 i 的重量是 $w_i$,其价值为$v_i$ ,背包的容量为 C。问应如何选择装入背包的物品,使得装入背包中物品的总价值最大? 对于一种物品,要么装入背包,要么不装。

2022-10-13 20:57:27 2512

原创 [每日一题] 按摩师

一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。f(n) 数组长度为 n 时,返回此时最长的分钟数。动态规划的模式:从左向右尝试。

2022-10-12 20:46:29 182

原创 【每日一题】整数拆分

两个正整数的和,并使这些整数的乘积最大化。返回你可以获得的最大乘积。假设 f ( k ) 表示 n = k 时,获得的最大乘积。在尝试 0 到 n 所有可能性后,去最大值。i = 1 尝试 k - i 是否保留。

2022-10-12 18:55:40 238

原创 【每日一题】换钱方法数三

现有 n1 + n2 种面值的硬币,其中前 n1 种为普通币,可以取任意枚,后 n2 种为纪念币,每种最多只能取一枚,每种硬币有一个面值,问能用多少种方法拼出 m 个面值?

2022-09-22 20:41:20 89

原创 【每日一题】换钱方法数二

给定数组 arr,arr 中所有的值都为正整数。每个值代表一种面值的货币,每种面值的货币只可使用一张,再给定一个整数 aim 代表要找的钱数,求换钱有多少种方法。

2022-09-22 20:39:17 97

原创 【每日一题】换钱方法数

给定数组 arr,arr 中所有的值都为正整数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个整数 aim 代表要找的钱数,求换钱有多少种方法。

2022-09-22 20:26:10 283

原创 【每日一题】土豪打榜

CC 里面有一个土豪很喜欢一位女直播 kiki 唱歌,平时就经常给她点赞、送礼、私聊。最近 CC 直播平台在举行中秋之星直播唱歌比赛,假设一开始该女主播的初始人气值为 start,能够晋升下一轮人气需要刚好达到 end,土豪给主播增加人气可以采取一下三种方法1. 点赞;花费 x C币,人气 + 22. 送礼;花费 y C 币,人气 * 23. 私聊;花费 z C币,人气 - 2其中 end 远大于 start 且 end 为偶数,请写一个程序帮助土豪计算一下,最少花费多少 C 币就能帮助该主播 ki

2022-09-22 20:15:49 226

原创 二叉树的递归套路

前提:假设以 X 为头结点树型DP(Dynamic programming),满足最优子结构性质的问题,都可以用树型 DP 求解。

2022-09-22 18:31:06 290

原创 算法题技巧一:打表法

能用打表法的题目特征这样的大概有四成可以使用打表法打表法步骤。

2022-09-22 18:21:58 986 2

原创 在两个排序数组中找到上中位数

给定两个有序数组 arr1 和 arr2 ,已知两个数组的长度都为 N,求两个数组中所有数的上中位数。【举例】总共有 8 个数,那么上中位数是第 4 小的数,所以返回 3总共有 6 个数,那么上中位数是第 3 小的数,所以返回 2【要求】时间复杂度为 O( log N ),额外空间复杂度 O(1)

2022-09-22 14:27:43 166

原创 Query Kmeans

通过 kmeans 对用户 Query 进行聚类

2022-09-14 14:07:58 947 2

原创 跳表(SkipLists)

跳表使用概率保持数据平衡性

2017-08-23 14:41:03 310

原创 关联规则挖掘

关联规则挖掘

2017-08-03 14:25:12 772

原创 Problem 16 Power digit sum

project euler Problem 16 Power digit sum215=327682^{15} = 32768 and the sum of its digits is 3 + 2 + 7 + 6 + 8 = 26.What is the sum of the digits of the number 210002^{1000}?

2017-07-26 12:08:30 498 2

集体智慧编程

书以机器学习与计算统计为主题背景,专门讲述如何挖掘和分析Web上的数据和资源,如何分析用户体验、市场营销、个人品味等诸多信息,并得出有用的结论,通过复杂的算法来从Web网站获取、收集并分析用户的数据和反馈信息,以便创造新的用户价值和商业价

2013-08-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除