自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 122.买股票的最佳时机——贪心算法

买卖股票的最佳时机 II给定一个数组 prices ,其中 prices[i] 表示股票第 i 天的价格。在每一天,你可能会决定购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以购买它,然后在 同一天 出售。返回 你能获得的 最大 利润 。class Solution {public://贪心算法,将利润分块 int maxProfit(vector<int>& prices) { int n=prices.size(); .

2022-04-12 21:13:05 323

原创 拓扑排序典型应用

课程表你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 bi 。例如,先修课程对 [0, 1] 表示:想要学习课程 0 ,你需要先完成课程 1 。请你判断是否可能完成所有课程的学习?如果可以,返回 true ;否则,返回 false 。//深度遍历的.

2022-03-18 19:23:08 235

原创 剑指offer 04二维数组的查找

剑指 Offer 04. 二维数组中的查找在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。class Solution {public: bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) { int m = matrix.siz

2022-03-18 19:03:40 147

原创 重建二叉树

剑指 Offer 07. 重建二叉树输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。class Solution {public: TreeNode* buildTree(vector<int>& preorder, vector<int>& inorder) { TreeNode* root; if (preorder.empty())

2022-03-09 09:17:57 393

原创 力扣 3字符串无重复

无重复字符的最长子串给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。class Solution {public: int lengthOfLongestSubstring(string s) { int n = s.size(); if (n == 0) { return 0; } int ans = 1; int j = 0;//右指针 .

2021-12-30 16:32:12 3266

原创 剑指offer 58 28

剑指 Offer 58 - II. 左旋转字符串字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。//法一:占用额外空间,字符串拼接class Solution {public: string reverseLeftWords(string s, int n) { int len = s.size(); str

2021-12-26 21:18:25 216

原创 力扣151

翻转字符串里的单词给你一个字符串 s ,逐个翻转字符串中的所有 单词 。单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。请你返回一个翻转 s 中单词顺序并用单个空格相连的字符串。说明:输入字符串 s 可以在前面、后面或者单词间包含多余的空格。翻转后单词间应当仅用一个空格分隔。翻转后的字符串中不应包含额外的空格。//先反转字符串,再删掉多余的空格,再对每个单词进行反转class Solution {public: string reverse.

2021-12-26 08:58:07 58

原创 剑指offer 05

剑指 Offer 05. 替换空格请实现一个函数,把字符串 s 中的每个空格替换成"%20"。class Solution {public: string replaceSpace(string s) { int count = 0; int n = s.size(); for (int i = 0; i <n; i++) { if (s[i] == ' ')

2021-12-26 08:48:20 198

原创 力扣344 541反转字符串

反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。class Solution {public: void reverseString(vector<char>& s) { int i = 0; int j = s.size() - 1; while (i < j) { .

2021-12-24 10:21:06 2983

原创 力扣题目记录 59 54 29

螺旋矩阵 II给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。class Solution {public: vector<vector<int>> generateMatrix(int n) { vector<vector<int>>v(n,vector<int>(n,0)); int count = 1; .

2021-12-23 17:28:25 464

原创 力扣题目 904

水果成篮你正在探访一家农场,农场从左到右种植了一排果树。这些树用一个整数数组 fruits 表示,其中 fruits[i] 是第 i 棵树上的水果 种类 。你想要尽可能多地收集水果。然而,农场的主人设定了一些严格的规矩,你必须按照要求采摘水果:你只有 两个 篮子,并且每个篮子只能装 单一类型 的水果。每个篮子能够装的水果总量没有限制。你可以选择任意一棵树开始采摘,你必须从 每棵 树(包括开始采摘的树)上 恰好摘一个水果 。采摘的水果应当符合篮子中的水果类型。每采摘一次,你将会向右移动到下一棵树,.

2021-12-23 16:01:23 88

原创 【无标题】

删除有序数组中的重复项给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。class Solution {public: int removeDuplicates(vector<int>& nums) { int left = 0, right = 1, n = nums.size(.

2021-12-23 16:00:52 41

原创 力扣题目记录

力扣刷题记录704. 二分查找给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-search著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。#include <iostream>#include<vector>usin

2021-12-19 20:34:12 202

原创 2021-07-09

第十二周 C语言程序设计1 计算时间差题目内容:用结构体定义时钟类型,编程从键盘任意输入两个时间(例如4时55分和1时25分),计算并输出这两个时间之间的间隔。要求不输出时间差的负号。#include <stdio.h>#include <string.h>typedef struct clock { int hour; int minute; int second; }CLOCK;CLOCK Calc

2021-07-09 17:32:58 485

原创 2021-07-05

第十一周 C语言程序设计3 月份表示题目内容:用指针数组保存表示每个月份的英文单词以及“Illegal month”的首地址,然后编程实现:从键盘任意输入一个数字表示月份值n,程序输出该月份的英文表示,若n不在1~12之间,则输出“Illegal month”。#include<stdio.h>#include<string.h>int main(){ char *month[]={"January","February","March","April","Ma

2021-07-05 17:30:56 682

原创 2021-07-01

第十周 C语言程序设计2 查找子串题目内容:用字符数组作函数参数,编程实现在从键盘输入的字符串(假设长度小于80)中查找与指定的子串,并输出该子串在字符串中首次出现的位置,如果该字符不存在,则输出"Not found!"。函数原型:int SearchString(char s[], char d[])函数功能:在字符数组s中查找子串d,返回d在s中首次出现的位置,若找不到,则返回-1。#include<stdio.h>int SearchString(char s[],char

2021-07-01 19:20:29 800

原创 2021-06-17

C语言程序设计第九周1重复数字检查(4分)题目内容:从键盘输入一个数,检查这个数中是否有重复出现的数字。如果这个数中有重复出现的数字,则显示“Repeated digit!”;否则显示“No repeated digit!”。已知函数原型:int CountRepeatNum(int count[], int n);若有重复数字,则该函数返回重复出现的数字;否则返回-1.#include <stdio.h>int CountRepeatNum(int count[],int n

2021-06-17 21:51:26 244

原创 2021-06-15

C语言程序设计第八周1摘苹果(4分)题目内容:陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当他不能直接用手摘到苹果的时候,就会踩到板凳上再试试。现在已知10个苹果到地面的高度(已知在100cm到200cm之间,包括100cm和200cm),以及陶陶把手伸直时能达到的最大高度(已知在100cm到120cm之间,包括100cm和120cm),请你编写程序帮助陶陶计算一下他能摘到的苹果数目。假设他碰到苹果,苹果就会掉下来。函数

2021-06-15 11:13:56 1208

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除