- 博客(19)
- 收藏
- 关注
原创 241. 为运算表达式设计优先级【C++/力扣/详解】分治法例题1
题目题解部分内容转载于leetcode-分治-241——为运算表达式设计优先级这道题是为了巩固算法设计与分析中学到的第一种具体的算法思想,即递归与分治递归与分治这道题就满足使用条件,这是因为(以下为对转载内容的分析):【divide】对于一个给定的算术表达式a op b,结果就是因为括号顺序的改变而得到的所有不同的a的值和b的值进行op运算所得到的值。比如左边假设可以变化为a1,a2,右侧可以变化为b1,b2,b3,这个时候我们就可以说整个表达式的可能取值就是,a1b1,a1b2,a1
2021-03-09 20:20:55
483
原创 机器学习1——支持向量机(SVM)详细理论推导【图文版】
一、线性可分情况的支持向量机1、引例我们希望找到一条直线,来分开圆圈和叉。支持向量机 Support Vector Machine, SVM 是一种能够很好处理中等大小数据集的广义二元线性分类器。SVM属于监督学习 Supervised Learning 的一种,通过对带有标签 Label 的数据特征的学习,画出一条线、平面或者超平面 Hyper Plane 来分开不同的样本,即将每个样本分到不同的类,这样在给出一个新样本后,我们通过这个新样本的特征就可以判断它属于哪一类。SVM既可以用来做分类
2020-07-23 00:04:24
773
原创 1464. 数组中两元素的最大乘积
1464. 数组中两元素的最大乘积PythonC++要逆序排列,所以C++需要用greater<int>()作为参数Python选择reverse=True
2020-07-09 22:29:26
266
原创 1266. 访问所有点的最小时间
1266. 访问所有点的最小时间C++Python思想很简单,绝对值最大的,就是需要走的,可以举几个例子看看规律要注意不要越界,要么从1开始遍历,要么遍历到倒数第二个,因为每次遍历会涉及到前后2个元素return sum(max(abs(points[i][0]-points[i-1][0]),abs(points[i][1]-points[i-1][1])) for i in range(1,len(points))) 表示从1遍历的,range从1开始,len结束,正常默认是0,所以
2020-07-09 21:44:42
150
原创 1450. 在既定时间做作业的学生人数
1450. 在既定时间做作业的学生人数C++Python在中间就行Python的range()直接填写个数,就会遍历多少次,本质上是左闭右开Python支持直接大小比较,不用拆开Python无++ --操作
2020-07-09 21:19:32
191
原创 1295. 统计位数为偶数的数字
1295. 统计位数为偶数的数字C++Python核心思路就是把数字转换成字符串,逐个判断长度C++使用to_string()函数转换为string类型,即可用size()求长度Python使用str()函数转成字符串,使用len()求长度Python的代码中1 for num in nums if len(str(num)) % 2 == 0得到的是一个列表,使用的技巧是列表表达式,遍历列表,对于符合条件的元素,按照最前面的变换,添加到列表中,所以最后列表是[1, 1],sum求和得
2020-07-09 21:08:23
297
原创 1313. 解压缩编码列表
1313. 解压缩编码列表class Solution {public: vector<int> decompressRLElist(vector<int>& nums) { int n=nums.size(); vector<int>ans; int k=0; for(int i=0,j=1;i<n-1;i+=2,j+=2){ for(k=0;k<n
2020-07-07 17:23:52
153
原创 1470. 重新排列数组
1470. 重新排列数组class Solution {public: vector<int> shuffle(vector<int>& nums, int n) { vector<int> ans; for(int i=0,j=n;i<n;i++,j++){ ans.push_back(nums[i]); ans.push_back(nums[j]);
2020-07-07 17:13:12
162
原创 1486. 数组异或操作
1486. 数组异或操作class Solution {public: int xorOperation(int n, int start) { int ans=start; for(int i=0;i<n-1;++i){ start+=2; ans^=start; } return ans; }};核心思路是求出每一位的数组值后就立即进行异或,而不是保存到数组
2020-07-07 17:01:14
202
原创 1431. 拥有最多糖果的孩子
1431. 拥有最多糖果的孩子class Solution {public: vector<bool> kidsWithCandies(vector<int>& candies, int extraCandies) { int maxCandies=*max_element(candies.cbegin(),candies.cend()); int n=candies.size(); vector<bool&
2020-07-07 15:05:40
329
原创 1480. 一维数组的动态和
1480. 一维数组的动态和class Solution {public: vector<int> runningSum(vector<int>& nums) { for(int i=1;i<nums.size();++i){ nums[i]+=nums[i-1]; } return nums; }};动态规划的思想动态规划的思想是解决重叠的子问题,通过维护一个数组
2020-07-07 13:03:43
199
原创 1304. 和为零的N个唯一整数
力扣原题链接 1304. 和为零的N个唯一整数class Solution {public: vector<int> sumZero(int n) { vector<int> ans; int sum=0; //核心:因为要求都不相同,所以构造的时候分为正负即可,先添加n-1个自然数,最后一个负数调平 fo...
2020-04-08 13:48:05
155
原创 1323. 6 和 9 组成的最大数字
力扣原题链接 1323. 6 和 9 组成的最大数字class Solution {public: int maximum69Number (int num) { string s=to_string(num); //将num转换为字符串string类进行逐位遍历,使用to_string函数 for(auto& c:s){ //传引用! ...
2020-04-07 23:58:15
181
原创 1365. 有多少小于当前数字的数字
力扣原题链接 1365. 有多少小于当前数字的数字class Solution {public: vector<int> smallerNumbersThanCurrent(vector<int>& nums) { vector<int> ret(nums.size(),0); //注意在这里,使用了特殊的初始化,初...
2020-04-06 17:23:25
182
原创 1380. 矩阵中的幸运数
力扣原题链接 1380. 矩阵中的幸运数class Solution {public: vector<int> luckyNumbers (vector<vector<int>>& matrix) { vector<int> ans; //因为返回的是vector for(i...
2020-04-05 16:35:59
240
原创 1360. 日期之间隔几天
力扣原题链接 日期之间隔几天class Solution { bool leap_year(int year){ return year%400==0||(year%100!=0&&year%4==0); } //判断是不是闰年 int date_to_int(string date){ int year,month...
2020-04-04 21:17:29
198
原创 1385. 两个数组间的距离值
力扣原题链接 1385. 两个数组间的距离值class Solution {public: int findTheDistanceValue(vector<int>& arr1, vector<int>& arr2, int d) { int ans=0; int size=arr2.size(); ...
2020-04-03 13:00:17
248
1
原创 1394. 找出数组中的幸运数
1394. 找出数组中的幸运数 力扣原题链接class Solution {public: int findLucky(vector<int>& arr) { //对于这种需要遍历知道每个值有多少个的,使用关联容器或者无需容器来做 unordered_map<int,int> numArray; int ...
2020-04-02 15:03:32
343
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人