自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 力扣969.煎饼排序

class Solution {public: vector<int> pancakeSort(vector<int>& A) { vector<int> res; int k = 0, l = 0; while (l < A.size()) { auto max = max_element(A.begin(), A.end() - l);//重排

2021-01-30 21:18:47 115

原创 二叉树层序遍历

树的层次遍历可以使用广度优先搜索实现。从根节点开始搜索,每次遍历同一层的全部节点,使用一个列表存储该层的节点值。class Solution {public: vector<vector<int>> res; vector<vector<int>> levelOrderBottom(TreeNode* root) { if(!root){ return res; } q

2021-01-30 21:10:55 73

原创 94.二叉树的中序遍历

class Solution {public: vector<int> res; vector<int> inorderTraversal(TreeNode* root) { if(root) { inorderTraversal(root->left); //左 res.push_back(root->val); //根 inorderTraversal(root-

2021-01-23 23:40:55 73

原创 70.爬楼梯

class Solution {public: int climbStairs(int n) { int p = 0, q = 0, r = 1; for (int i = 1; i <= n; ++i) { p = q; q = r; r = p + q; } return r; }};

2021-01-23 23:10:28 62

原创 力扣989.数组形式的整数加法

class Solution {public: vector<int> addToArrayForm(vector<int>& A, int K) { vector<int> res; int remain = 0;//用来存余数 for(int i = A.size() - 1; i >= 0; i --) { int num = A[i]; //用最

2021-01-22 18:33:49 83

原创 力扣53.最大子序和

class Solution {public: int maxSubArray(vector<int>& nums) { if (nums.size() == 0) return 0; int dp[nums.size()]; // 引入dp用来记录到达每个位置时子集数字之和 dp[0] = nums[0]; int result = dp[0]; for (int i = 1; i < nu

2021-01-16 20:06:02 59

原创 力扣64.最小路径和

class Solution {public: int maxSubArray(vector<int>& nums) { if (nums.size() == 0) return 0; int dp[nums.size()]; // 引入dp用来记录到达每个位置时子集数字之和 dp[0] = nums[0]; int result = dp[0]; for (int i = 1; i < nu

2021-01-16 19:47:15 62

原创 力扣1018.5整除的二进制前缀

bool* prefixesDivBy5(int* A, int ASize, int* returnSize) { if(A == NULL) return; int i; *returnSize = ASize; bool* answer = malloc(sizeof(bool) * ASize); int prefix = 0; //对A中子集遍历,看书否能够整除5 for (i = 0; i < ASize; i++) {

2021-01-14 17:44:20 59

原创 力扣189.旋转数组

class Solution {public: int fib(int n) { //遇到F(0),F(1)直接输出0和1 if (n < 2) { return n; } int p = 0, q = 0, r = 1; //循环F(n) = F(n - 1) + F(n - 2)一直加出F(n) for (int i = 2; i <= n; ++i) {

2021-01-04 18:41:29 64

原创 力扣605.种花问题

代码和解析:bool canPlaceFlowers(int* flowerbed, int flowerbedSize, int n){ //首先排除特殊情况 if (flowerbedSize == 0) return false; if (n == 0) return true; //引入cnt用来计数 int cnt = 0; /*对数组中的每一个数以及左右两数进行判断,若均为0(i在两端的情况已经排除),则可以种植,计数加一, 并且i移

2021-01-01 22:36:03 211

原创 力扣435.无重叠区间

今天学到了多维数组排序代码写法int cmp(int** a, int** b) { return (*a)[1] - (*b)[1];}int eraseOverlapIntervals(int** intervals, int intervalsSize, int* intervalsColSize) { //首先排除数组为空的特殊情况 if (intervalsSize == 0) { return 0; } //在内部将区间左右端排序

2020-12-31 10:38:30 129

原创 力扣1046.最后一块石头的重量

思路和代码表达都写在下面代码里了int cmp(int *a, int *b){ return *a - *b;}//在石头数量大于2时,每一轮操作前对数组进行排序int lastStoneWeight(int* stones, int stonesSize){ while(stonesSize > 2) { qsort(stones, stonesSize, sizeof(int), cmp);//比较最后两个数//若最后一个数较大,则让倒数第二

2020-12-30 17:20:50 67

原创 力扣330.按要求补齐数组

痛苦面具 看了解析才做出来int minPatches(int* nums, int numsSize, int n) { int cnt=0; //引入cnt用来计数 long long x; //看了解析,用long long防止数值过大 int index=0; //引入下标 //主要判断方式:若[1,x)被覆盖,则区间内所有数加x都被覆盖,即[1,2x)被覆盖 for( x=1;

2020-12-29 18:13:27 100

原创 力扣976.三角形的最大周长

int cmp(int* a, int* b) { return *a - *b;}int largestPerimeter(int *A, int ASize) { qsort(A, ASize, sizeof(int), cmp); //将三角形边长排好序 for (int i = ASize - 1; i >= 2; i--) { if (A[i - 2] + A[i - 1] > A[i]) { //从周长最

2020-12-26 10:50:01 97

原创 力扣455.分发饼干

今天每日一题终于简单了一次…//先把两个数组排好序int cmp(int* a, int* b) { return *a - *b;}int findContentChildren(int* g, int gSize, int* s, int sSize){ qsort(g, gSize, sizeof(int), cmp); qsort(s, sSize, sizeof(int), cmp); int p1=0,p2=0; int cnt=0;

2020-12-25 12:47:40 102

原创 力扣387.字符串中第一个唯一字符

int firstUniqChar(char * s){ if(*s == NULL) return -1; if(len == 1) return 0;//排除特殊情况 int i=0,j=0; //以索引遍历每一个数,当查到有数字无重复时返回其索引,若对照都存在重复返回-1, for(i=0;i<len;i++) { for(j=0;j<len;j++) { i

2020-12-24 22:36:44 70

原创 力扣75.颜色分类C语言双指针

刚学了排序,来一道排序题void swap(int *a, int *b) { int t = *a; *a = *b, *b = t;}//定义一个函数来交换指针指向的两个值void sortColors(int *nums, int numsSize) { //划分三个区间,p0之前只有0,p2之后只有2 int p0 = 0, p2 = numsSize - 1; //p0和p2分别置于首尾两端 for (int i = 0; i <= .

2020-12-24 21:49:09 129

空空如也

空空如也

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

TA关注的人

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