算法
会写代码的饭桶
这个作者很懒,什么都没留下…
展开
-
【C++刷题】力扣-#26删除排序数组中的重复项
题目给你一个有序数组 nums ,请你原地删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例1输入:nums = [1,1,2]输出:2, nums = [1,2]解释:函数应该返回新的长度 2 ,并且原数组 nums 的前两个元素被修改为 1, 2 。不需要考虑数组中超出新长度后面的元素。示例2输入:nums = [0,0,1,1,1,2,2,3,3,4]输出:5, nu原创 2021-11-24 20:16:24 · 862 阅读 · 0 评论 -
【C++刷题】力扣-#283移动零
题目给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。解法此题的有两个关键点:找到非零元素保持相对顺序//1.判断元素是否是非零元素//2.将非零元素按相对顺序依次存放在原数组中//3.循环前两步直至数组遍历完成代码void moveZeroes(vector<int>原创 2021-11-23 10:25:53 · 698 阅读 · 0 评论 -
【C++刷题】力扣-#217存在重复元素
给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例 3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true解析:...原创 2021-11-17 11:12:39 · 664 阅读 · 0 评论 -
【C++刷题】力扣-1.两数之和
题目给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [3,2,3] target= 6因为 nums[0] + nums[2] = 3 + 3 = 6 所以返回 [0, 2]解析:...原创 2019-04-04 23:48:55 · 1232 阅读 · 5 评论 -
【C++刷题】力扣-有序数组的平方
题目给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例输入:[-4,-1,0,3,10]输出:[0,1,9,16,100]输入:[-7,-3,2,3,11]输出:[4,9,9,49,121]代码vector<int> sortedSquares(vector<int>& A) { ...原创 2019-04-12 11:50:29 · 423 阅读 · 0 评论 -
【算法学习】蛮力算法介绍
蛮力法(brute force method),也称穷举法。是一种简单而直接地解决问题的方法,常常直接基于问题的描述,因此,蛮力法是最容易应用的方法。这种算法的解题策略会直截了当地试遍所有的可能解,直至找到问题的解为止。蛮力法所依赖的基本技术是扫描技术,即采用一定的策略将待求解问题的所有元素依次处理一次,从而找出问题的解。依次处理所有元素是蛮力法的关键,为了避免陷入重复试探,应保证处理过的元素原创 2017-12-04 20:37:54 · 3581 阅读 · 0 评论