
算法
文章平均质量分 93
托马斯大火车
~
展开
-
c++小结
文章目录1.vector2.int最大值INT_MAX,最小值INT_MIN3.翻转函数reverse(使字符串自身反转)4.栈5.容器排序,并除重1.vector定长容器vector<int>nums(20);//直接当数组用不定长容器vector<int>nums;//需要push_back()3.定长容器版插入数据nums[0]=2;nums[1]=0;4.不定长容器版插入数据nums.push_back(2);nums.push_back(0)原创 2020-10-16 23:38:02 · 297 阅读 · 0 评论 -
c++巩固基础语法2(经典二分法)
文章目录1.排队(不建数组的冒泡)2.求值(把容易判断的写在if、else if里,难的留到最后写成else)3.六的倍数(取模运算)4.十进制转二进制(一般十进制转其它进制,一个while就可以解决了)1.排队(不建数组的冒泡)没有建数组,因为省内存。空间换时间没有用冒泡,其实应该用一下的,写这段比较耗时间,写冒泡就快了#include<iostream>using namespace std;#include <bits/stdc++.h>#include <原创 2020-10-08 06:44:40 · 553 阅读 · 0 评论 -
c++巩固基础语法1(哈希表、保留小数点后位数、e的指数次方exp(x)、绝对值abs(x)、三角函数或者三角形相关题、转义字符、正负数进制转换%d,%o,%x)
文章目录1两点距离(保留两位小数、平方、开方)2.三角函数(定义pi,#define pi 3.1415926)3.指数计算(pow(a,b))4.三角形面积(s=a*b*sin(c)/2,c如果是角度需*pi/180)5.求误差(绝对值abs(x),e的指数,exp(x))6.四舍五入(保留小数位数)7.输出奇异符号(字符串中含有引号或斜杠时需转义)8.十六进制转十进制(哈希表)9.十进制正负数转八进制十六进制(%dx,八%0,十六%x)10按序求表达式和(找规律、仔细看题)1两点距离(保留两位小数、平原创 2020-10-06 04:58:20 · 933 阅读 · 0 评论 -
leetcode c++(5)(很多道回溯法、深度优先、广度优先、迭代法、递归法、全排列)
文章目录1.最接近的三数之和(双指针法)1.最接近的三数之和(双指针法)int threeSumClosest(vector<int>& nums, int target) { sort(nums.begin(), nums.end()); int dif = 10000;//差值,有正负,target-cur=dif,找dif绝对值最小,return target-dif for (int i = 0; i < nums.size(); i++) { if (i原创 2020-10-06 02:30:14 · 426 阅读 · 0 评论 -
leetcode c++(4)(哈希表unordered_map、散列表unordered_set、动态规划、substr()、有很多道双指针法)
文章目录1.验证回文串1.验证回文串①:运行很慢,用地址来循环,自己第一次写的(运行时间620ms左右)ps:主要用到了:isalnum()是判断是否是字母或数字的函数,tolower()是如果是大写字母就转换为小写erase()是删除这个地址,后面要搭配it–一起用,因为删除之后后面的就往前了,it++是往后推的意思,所以要用it–来抵消reverse()反转bool isPalindrome(string s) { for (auto it = s.begin(); it <原创 2020-09-21 00:52:42 · 577 阅读 · 1 评论 -
leetcode c++(3)( 多题买股票动态规划、二叉树搜索中栈的应用、迭代、递归、二分法、push_back()、insert())
文章目录1.二叉树的层次遍历Ⅱ①广度优先,每次都在out最后插入(push_back()),然后最后将out反转reverse②广度优先,每次都在out最前插入(out.insert(out.begin(),xxx))(本来以为会比方法一快很多,但实际确是比方法一慢很多)2.将有序数组转换为二叉搜索树(构造不唯一的平衡二叉树)二分法3.平衡二叉树(判断平衡二叉树)4.二叉树的最小深度(叶子节点的最小高度)1.二叉树的层次遍历Ⅱ①广度优先,每次都在out最后插入(push_back()),然后最后将ou原创 2020-08-14 09:12:13 · 482 阅读 · 0 评论 -
leetcode c++(2)(二叉树、动态规划、用队列迭代、广度优先队列、深度优先栈、find_last_of( )、erase()、reverse( ))
文章目录1.最后一个单词的长度find_last_of()2.加一注意溢出!!!3.二进制求和reverse()头尾反转4.x的平方根二分法 (这题二分法非常典型)5.爬楼梯(斐波那契数列)①倒序 递归 下面这个例子会超时(因为冗余操作多),40以上都会超时:②也是倒序 递归 不过用数组记住了已经计算过的值,不超时了在递归中,用数组存值可以去除冗余步骤:③动态规划做法,比递归好 动态规划:6.删除排序链表中重复的元素7.合并两个有序数组8.相同的树二叉树基础知识:①二叉树构造方法②注意:9.对称二叉树①递归原创 2020-08-10 04:32:22 · 896 阅读 · 0 评论 -
leetcode c++(1)(哈希表、栈、二分、递归、动态规划、贪心、substr()、unique()、erase()、auto it、find())
文章目录1两数之和2.整数反转3.回文数4.猜数字5.分式化简6.罗马数字转整数哈希表做法7.最长公共前缀substr(a,b)是指的a到b之间的字符串8.有效的括号c++中栈stack的使用1两数之和vector<int> twoSum(vector<int>& nums, int target) { vector<int>ans; for (int x = 0; x < nums.size(); x++) { for (int y = x原创 2020-08-07 06:48:23 · 659 阅读 · 0 评论