![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
hoar-jour
菜鸡学生一个
展开
-
力扣刷题日志--最长公共子序列--动态规划
输入:text1 = "abcde", text2 = "ace" 输出:3 解释:最长公共子序列是 "ace",它的长度为 3。 采用动态规划 int longestCommonSubsequence(string text1, string text2) { int l1 = text1.size(); int l2 = text2.size(); ...原创 2019-12-20 22:26:22 · 108 阅读 · 1 评论 -
归并排序
#include <iostream> using namespace std; void merge(int arr[], int low, int mid, int high) { int* num = new int[high - low + 1]; int i = low, j = mid + 1,k = 0; while (i <= mid && ...原创 2019-12-14 22:45:57 · 76 阅读 · 0 评论 -
力扣刷题日志--62 不同路径
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” ) 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角 (在 下图中标记为“Finish”)。下图 例如,上图是一个7 x 3 的网格。有多少可能的路径? 输入: m = 3, n = 2 输出: 3 解释: 从左上角开始,总共有 3 条路径可以到达右下角。 1. 向右 -> 向右 -> 向...原创 2019-12-12 23:07:38 · 113 阅读 · 0 评论 -
有关递归和斐波那契数列
求斐波那契数列第N项,最简单的方法 int f(int n) { if(n <= 2) return 1; return f(n - 1) + f(n - 2); } 但显然这很低效,因为会重复计算很多次前面的值,比如算f(10),要得到f(9),和f(8),而求f(9)要求f(8) 和f(7),求f(8)要求f(7)和f(6),就重复计算了f(8)和f(7),越往后重复的越多,...原创 2019-12-01 23:05:34 · 106 阅读 · 0 评论 -
力扣刷题日志--- 15 三数之和
题目描述 给定一个包含 n 个整数的数组 nums, 判断 nums 中是否存在三个元素 a,b,c , 使得 a + b + c = 0 ?找出所有满 足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。 例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4], 满足要求的三元组集合为: [ [-1, 0, 1], [-1, -1, 2] ] 三指针法 ...原创 2019-11-28 22:38:56 · 137 阅读 · 0 评论 -
排序方法---快速排序
第一步,选取数组的第一个数作为主元,并将主元放到合适位置(主元前的元素都小于主元,后的都大于主元) void swap(int* a,int* b)//交换数组中元素的位置 { int temp = *a; *a = *b; *b = temp; } int get_pivot(int arr[],int low,int high)//得到主元下标,并使其位置合适 { //左右两个指...原创 2019-11-27 23:01:16 · 222 阅读 · 0 评论 -
力扣刷题日志 189 旋转数组
问题 方法一 * 定义函数,使数组向后移一位,调用函数k次复杂度O(kn) void span(int arr[],int size) { int temp = arr[size - 1]; for(int i = size - 1;i > 0;i--) { arr[i] = arr[i - 1]; } arr[0] = temp; } ...原创 2019-11-26 22:41:49 · 79 阅读 · 0 评论