算法与数据结构
编程题目
西部小狼_
同学,我看你骨骼惊奇,定是武学奇才,我这里有一本slam求职宝典,只要五分钱。
展开
-
编程题 | 直线上最多的点数(from leetcode)
题目描述给定一个二维平面,平面上有n个点,求最多有多少个点在同一条直线上。示例 1:输入: [[1,1],[2,2],[3,3]]输出: 3解释:^|| o| o| o +------------->0 1 2 3 4示例2:输入: [[1,1],[3,2],[5,3],[4,1],[2,3],[1,4]]...原创 2019-04-26 16:58:15 · 701 阅读 · 0 评论 -
编程题 | 动态规划之最长公共子序列(LCS):删除最少字符串使剩下的字符串为回文串
这道题会用到动态规划。题目的描述很简单,见标题。首先让我们明确两个概念:最长公共子串(Longest Common Substring),子串是连续的;最长公共子序列(Longest Common Subsequences), 不一定是连续的。思路:举个例子,abcdeca这个字符串的逆序为:acedcba. 这两者之间的公共最大子序列为:acdca. 再将其与原字符串相减就...原创 2019-04-26 16:17:07 · 617 阅读 · 0 评论 -
算法 | 广度优先搜索(BFS)和深度优先搜索(DFS)理论与深入实践
搜索算法不仅在实际应用中非常重要,也是各大公司编程笔试题目重头戏,本文聚焦于两大经典的图算法:广度优先搜索(Breadth First Search)和深度优先搜索(Depth First Search)。我在学习数据结构的时候初识这两种算法,后来在算法图解一书也看到了形象的介绍,虽然算法的概念不难但是因为足够的实践经验,理解不够深刻。现在,本文将对这两种经典算法进行简单的介绍,着...原创 2019-04-19 16:32:57 · 1286 阅读 · 0 评论 -
编程题 | 专题解析之商汤2018校招
近日,在看18年校招的真题时,发现商汤的在线编程题目都比较有意思,甚至在牛客网上有一道编写聚类算法的题目无人做出。于是想在这里做一下解答和整理,主要参考来源为牛客网。目录1. 解码3. 分割后处理4. water5. 合并果子6. 狙击手7. 最小区间8. 线性回归原题共有八道题目,考虑到第2题聚类没有做出,跳过。题目都不是很简单,有一点冗长,像嚼...原创 2019-04-27 13:13:35 · 1336 阅读 · 1 评论 -
编程题 | 小马智行题目
题目描述:有N个石头,从第一个石头跳到第N个石头。每个石头的颜色为Ci,第i个石头往后跳只有两种跳法: 1. 往后跳一个; 2. 往后直接跳到相同颜色的石头上。 问: 从第一个石头跳到第N个石头,最少的步数是多少? 输入: 第一行为N,第二行表示各石头的颜色61 2 4 1 4 2输出:2 (备注: 1->2->2)解答:思路为递归函数...原创 2020-04-09 10:05:15 · 1046 阅读 · 0 评论 -
编程题 | 解数独问题 (Leetcode 37题)
编写一个程序,通过已填充的空格来解决数独问题。一个数独的解法需遵循如下规则:数字1-9在每一行只能出现一次。数字1-9在每一列只能出现一次。数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。空白格用'.'表示。一个数独。答案被标成红色。Note:给定的数独序列只包含数字1-9和字符'.'。你可以假设给定的数独只有唯一解。给...原创 2020-04-09 10:27:06 · 1572 阅读 · 1 评论