![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode刷题
weixin_44392955
这个作者很懒,什么都没留下…
展开
-
华为机试题-取近似值(四舍五入)
写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。输入描述:输入一个正浮点数值输出描述:输出该数值的近似整数值示例1输入:5.5复制输出:6题目来源:牛客网#include<iostream>using namespace std;int main(){ float a; cin>> a; float a1 = a -int(a); if(a1 >原创 2021-08-05 19:48:07 · 186 阅读 · 0 评论 -
华为机试题-计算字母出现次数
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字母,然后输出输入字符串中该字母的出现次数。不区分大小写,字符串长度小于500。输入描述:第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字母。输出描述:输出输入字符串中含有该字符的个数。示例1输入:ABCabcA复制输出:2题目来源:牛客网#include<iostream>#include<string> using namespace std; int main(){原创 2021-08-05 16:02:29 · 138 阅读 · 0 评论 -
华为机试题-字符串最后一个单词的长度
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。输入描述:输入一行,代表要计算的字符串,非空,长度小于5000。输出描述:输出一个整数,表示输入字符串最后一个单词的长度。示例1输入:hello nowcoder复制输出:8复制说明:最后一个单词为nowcoder,长度为8来源:牛客网#include<iostream>#include<string> using namespace std; int main(){原创 2021-08-05 15:57:41 · 116 阅读 · 0 评论 -
具有最大和的连续子数组(动态规划法)
题目:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。思路:动态规划超详细分析class Solution {public: int maxSubArray(vector<int>& nums) { int max = nums[0]; //全原创 2021-04-11 10:39:02 · 1040 阅读 · 0 评论 -
外观数列
题目:定一个正整数 n ,输出外观数列的第 n 项。「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下:111211211111221第一项是数字 1描述前一项,这个数是 1 即 “ 一 个 1 ”,记作 “11”描述前一项,这个数是 11 即 “ 二 个 1 ” ,记作 “21”描述前一项,这个数是 21 即 “ 一 个 2 + 一 个 1 ” ,记作 “1211”描述前一项,这个数是 1211 即 “ 一原创 2021-04-09 20:50:20 · 51 阅读 · 0 评论 -
在数组中找到目标值,并返回索引,若不在,则插入
题目:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2来源:力扣(LeetCode)思路一:查找的话我首先想到的是二分查找,但重点是按顺序插入的位置怎么确定。class Solution {public: int searchInsert(vector<int>& nums, int target) {原创 2021-04-09 17:05:32 · 596 阅读 · 0 评论 -
实现strstr函数
题目:给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = “hello”, needle = “ll”输出: 2来源:力扣(LeetCode)思路:双指针思想(感觉双指针的用处好多,有待发掘)。一个指针指向数组,从0开始;另一个指针指向待查找的数组。如果两个指针指向的内容不一致,则i+1;若一致,则j+1,继续比较i+j和j指针原创 2021-04-09 16:43:17 · 48 阅读 · 0 评论 -
原地删除数组中的指定元素
题目:给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。示例 1:输入:nums = [3,2,2,3], val = 3输出:2, nums = [2,2]解释:函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。来源:力扣(LeetCode)思路一:遍历数组元素,一旦发现指定元素,将该值与数组的最后一个元素交换位置,同时将数组长度减一。class Solution原创 2021-04-06 20:30:03 · 585 阅读 · 0 评论 -
找出数组的子集
一、数组中无重复元素示例 1:输入:nums = [1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]参考链接:迭代法思想图解class Solution {public: vector<int> ans; vector<vector<int>> mask; vector<vector<int>> subsets(vector<int>&a原创 2021-04-02 11:37:50 · 117 阅读 · 0 评论 -
原地删除数组中的重复元素--双指针
题目:原地(不增加任何额外的空间)删除数组中的重复元素,返回新数组长度。思路:参考链接:图片对算法的描述直观明了利用双指针的概念,一个慢指针,一个快指针。i代表慢指针,初始值为0;j代表快指针,初始值为1。快指针先走;如果nums[fast] == nums[slow],不做任何操作如果nums[fast] != nums[slow],slow += 1, nums[slow] = nums[fast];fast+=1;最终索引(0,slow)区域内的元素即为无重复项的元素。clas原创 2021-03-31 19:49:57 · 340 阅读 · 1 评论 -
二维数组的二分查找
二维数组的二分查找你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。题目源于我在leetcode刷到的一道题。题目如下:编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:每行中的整数从左到右按升序排列。每行的第一个整数大于前一行的最后一个整数。示例 1:输入:matrix = [[1,3,5,7],[10,11,16,20],[23,原创 2021-03-30 16:20:03 · 688 阅读 · 0 评论