
算法
广州市民林先生
无。
展开
-
二分查找的思想
leetcode 35 https://leetcode-cn.com/problems/search-insert-position/leetcode 34 https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-array/原创 2020-12-02 23:37:23 · 567 阅读 · 0 评论 -
矩阵中的路径+机器人的运动范围题目分析
“矩阵中的路径” 和 "机器人的运动范围"是剑指offer的倒数第2,3道题目,因为这两道题思路类似,就放在一起说。矩阵中的路径(leetcode版本)请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3×4的矩阵中包...原创 2020-04-07 13:26:57 · 311 阅读 · 0 评论 -
回溯递归思想的一些经典算法题
回溯:可以归结为一个模板result = [ ]void backtrack(路径, 选择列表): if 满足结束条件: result.add(路径) return; for 选择 in 选择列表: 做选择 backtrack(递归) 撤销选择题目1:路径问题class Solu...原创 2020-03-15 21:38:10 · 290 阅读 · 0 评论 -
几种常见的排序算法-c++
class SORT {public: SORT() { for (int i = 0; i < array_SIZE; i++) { cout << "...Please input the num: "; cin >> a[i]; } int p; cout...原创 2020-02-04 11:15:19 · 234 阅读 · 0 评论 -
剑指offer——替换空格
题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。Input:“A B”Output“A%20B”解题思路:一看是字符串处理问题,最先想到的是从前往后遍历,然后根据需求处理。这个题,如果从前往后遍历,每次遇到空格,便要将空格替换为%20,也就是说,每遇到一个空格,需要往...原创 2020-01-21 22:06:43 · 172 阅读 · 0 评论 -
剑指offer——构建乘积数组(C++)
题目描述:给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1], 其中B中的元素B[i]=A[0]A[1]…*A[i-1]A[i+1]…*A[n-1],不能使用除法。对于这个题目,如果没有“不能使用除法”这个规定,可以通过计算A[0]A[1]…A[i]…*A[n-1]除以A[i]来计算B[i]的值(考虑A[i]是否为0的情况)现在多了这个条件,我们可以这么考虑,如下面的...原创 2020-01-19 21:45:18 · 351 阅读 · 0 评论 -
剑指offer——数组中重复的数字(C++)
题目描述:在一个长度为n的数组里,所有的数字都在0到n-1的范围内。数组中某些数字是重复的,但不知道有几个数是重复的,也不知道每个数重复几次,请找出数组中任意一个重复的数。**(时间复杂度O(n),空间复杂度O(1)**刚看到这个题目的时候,第一个想到的就是把数组先排好序,然后前后比较就可以得出来结果。不过这样子的话,时间复杂度会比较大,后来看了解释,一开始也看不太懂,琢磨了一番后明白了。...原创 2020-01-18 19:49:55 · 560 阅读 · 0 评论