
算法面试题
文章平均质量分 66
董一峰
苟有恒,何必三更眠五更起;最无益,莫过一日曝十日寒。
展开
-
【每日一题】完美洗牌
给定一个长度为偶数的数组 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 · 1338 阅读 · 0 评论 -
【每日一题】最少货币数
给定数组 arr,arr 中所有的值都为正整数。每个值代表一张钱的面值,再给定一个整数 aim 代表要找的钱数,求组成 aim 的最少货币数。原创 2022-10-24 20:05:23 · 384 阅读 · 0 评论 -
【每日一题】无序数组中最小的第 k 个数
在一个无序数组中,求最小的第 k 个数。原创 2022-10-23 22:47:14 · 553 阅读 · 0 评论 -
【每日一题】回文串移除方案
给定一个字符串 str,能否从字符串中移除部分(0个或多个)字符使其变为回文串,此处空串认为是回文串,求多少移除方案。(注意:相同字符的由于的移除,认为不同的移除方案)原创 2022-10-22 11:43:38 · 543 阅读 · 0 评论 -
【每日一题】回文子串的最小切割数
给定一个字符串 str,返回把 str 全部切成回文子串的最小切割数。原创 2022-10-20 22:44:10 · 638 阅读 · 0 评论 -
【每日一题】最长公共子序列
给定两个字符串 str1 和 str2 ,求两个字符串的最长公共子序列。原创 2022-10-19 23:39:39 · 323 阅读 · 0 评论 -
【每日一题】最长回文子序列
给定一个字符串 str,求最长的回文子序列。原创 2022-10-19 21:53:44 · 532 阅读 · 1 评论 -
【每日一题】bool 表达式解析
给定一个只由 0(假)、1 (真)、&(逻辑与)、|(逻辑或)、^(s)五种字符组成的字符串 express,再给定一个布尔值 desired。返回 express 能有多少种组合方式,可以达到 desired 的结果。原创 2022-10-17 09:57:02 · 337 阅读 · 0 评论 -
【每日一题】公式计算
给定一个字符串str,str 表示一个公式,公式里可能有整数,加减乘除和左右括号,返回公式的计算结果。原创 2022-10-15 10:03:48 · 455 阅读 · 0 评论 -
[每日一题] 01背包问题
给定 n 种物品和一背包。物品 i 的重量是 $w_i$,其价值为$v_i$ ,背包的容量为 C。问应如何选择装入背包的物品,使得装入背包中物品的总价值最大? 对于一种物品,要么装入背包,要么不装。原创 2022-10-13 20:57:27 · 3054 阅读 · 0 评论 -
[每日一题] 按摩师
一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。f(n) 数组长度为 n 时,返回此时最长的分钟数。动态规划的模式:从左向右尝试。原创 2022-10-12 20:46:29 · 218 阅读 · 0 评论 -
【每日一题】整数拆分
两个正整数的和,并使这些整数的乘积最大化。返回你可以获得的最大乘积。假设 f ( k ) 表示 n = k 时,获得的最大乘积。在尝试 0 到 n 所有可能性后,去最大值。i = 1 尝试 k - i 是否保留。原创 2022-10-12 18:55:40 · 382 阅读 · 0 评论 -
【每日一题】换钱方法数三
现有 n1 + n2 种面值的硬币,其中前 n1 种为普通币,可以取任意枚,后 n2 种为纪念币,每种最多只能取一枚,每种硬币有一个面值,问能用多少种方法拼出 m 个面值?原创 2022-09-22 20:41:20 · 109 阅读 · 0 评论 -
【每日一题】换钱方法数二
给定数组 arr,arr 中所有的值都为正整数。每个值代表一种面值的货币,每种面值的货币只可使用一张,再给定一个整数 aim 代表要找的钱数,求换钱有多少种方法。原创 2022-09-22 20:39:17 · 121 阅读 · 0 评论 -
【每日一题】换钱方法数
给定数组 arr,arr 中所有的值都为正整数且不重复。每个值代表一种面值的货币,每种面值的货币可以使用任意张,再给定一个整数 aim 代表要找的钱数,求换钱有多少种方法。原创 2022-09-22 20:26:10 · 308 阅读 · 0 评论 -
【每日一题】土豪打榜
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 · 275 阅读 · 0 评论 -
二叉树的递归套路
前提:假设以 X 为头结点树型DP(Dynamic programming),满足最优子结构性质的问题,都可以用树型 DP 求解。原创 2022-09-22 18:31:06 · 320 阅读 · 0 评论 -
算法题技巧一:打表法
能用打表法的题目特征这样的大概有四成可以使用打表法打表法步骤。原创 2022-09-22 18:21:58 · 1146 阅读 · 2 评论 -
在两个排序数组中找到上中位数
给定两个有序数组 arr1 和 arr2 ,已知两个数组的长度都为 N,求两个数组中所有数的上中位数。【举例】总共有 8 个数,那么上中位数是第 4 小的数,所以返回 3总共有 6 个数,那么上中位数是第 3 小的数,所以返回 2【要求】时间复杂度为 O( log N ),额外空间复杂度 O(1)原创 2022-09-22 14:27:43 · 190 阅读 · 0 评论 -
Query Kmeans
通过 kmeans 对用户 Query 进行聚类原创 2022-09-14 14:07:58 · 1013 阅读 · 2 评论 -
面试题:查找两个字符串的连续子串
面试题,查找两个字符串的连续子串,Python原创 2014-03-02 11:47:44 · 1978 阅读 · 0 评论 -
查找兄弟单词
问题:一个单词单词字母交换,可得另一个单词,如army->mary,成为兄弟单词。提供一个单词,在字典中找到它的兄弟。描述数据结构和查询过程。所用数据结构为Hash表步骤:1.构建Hash表 遍历单词库,先对每个单词做一个按字母排序,如:army:排序后为amry.将amry Hash一下作为Hash建,将army作为值。对于兄弟单词ma原创 2013-05-15 09:32:42 · 774 阅读 · 0 评论