
算法
文章平均质量分 73
Jqivin
这个作者很懒,什么都没留下…
展开
-
双指针法及题目
文章目录LeetCode15 三数之和LeetCode15 三数之和笔者就在这里着重说一下自己对于双指针这块的核心代码的理解://这是双指针的写法while(head<tail){ if(sum<0) head++; if(sum>0) tail--; if(sum==0) //...}//这是普通写法for(int i=0;i<m;i++) for(int j=0;j<n;j+.原创 2021-08-13 16:01:09 · 126 阅读 · 0 评论 -
二分查找 (适用于有序)
题目描述解题思路使用left和right两个整型值来记录数组的两端,使用mid = left + (right - left)/ 2来表示中间的值。如果nums[mid] < target ,left = mid+1;如果nums[mid] > target,right = mid-1;如果nums[mid] == target,再进行判断mid是不是第一个出现的target。这个就是第一次做错的原因;代码展示int search(vector<int>& n原创 2021-06-05 20:52:06 · 181 阅读 · 0 评论 -
八大排序算法
文章目录前言冒泡排序选择排序直接插入排序1.排序思想2.代码描述3.总结希尔排序 -- 增量排序1.排序思想前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考冒泡排序选择排序直接插入排序1.排序思想 假如是这一组数据 83 15 35 1 33 8 77 21 34 97 31 2 9; 首先把数据分成两个部分,前面的数.原创 2021-06-23 10:53:32 · 215 阅读 · 0 评论 -
动态规划 - 打家劫舍、机器人路径、0-1背包
文章目录一、动态规划二、一些例子1. 打家劫舍2.机器人路径3. 0-1背包问题一、动态规划关于动态规划算法,和分治策略类似。都是将问题分解然后求解,但是又和分治策略有所不同,动态规划把每次求得的解都记录在了一张表中,省去了重复递归的过程。二、一些例子1. 打家劫舍(1)题目描述(2)解题思路(3)代码展示//使用vector表示dpint rob(const vector<int>& num){ int n = num.size(); //房子的个数 v原创 2021-05-03 19:54:30 · 238 阅读 · 0 评论