
LeetCode
HeisenbergI
喜欢记录,觉得记录自己的学习过程也能够让自己更好地复习以及更好地成长,欢迎大家和我一起学习
展开
-
移除元素---原地移除
27.移除元素题目描述给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。题目思路不需要重新建立一个数组存储处理之后的数据,只需要用一个index值记录有多少个符合题目的值,可以在原数组上进行数据的覆盖,因此只需要遍历一次数组就行。class Solution { public int原创 2021-07-24 21:03:00 · 266 阅读 · 0 评论 -
看起来一点都不简单的非递减序列(665)
题目描述给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中任意的 i(0 <= i <= n - 2),总满足 nums[i] <= nums[i + 1]。示例 1:输入: nums = [4, 2, 3]输出 : true解释 : 你可以通过把第一个4变成1来使得它成为一个非递减数列。题目分析遍历数组,如果是降序就修改,只能修改一次,如果之后再出现了降序就返回false。原创 2021-05-28 21:51:43 · 206 阅读 · 0 评论 -
用面积法解决 乐团站位 (29)
题目描述首先看这个题目真的是毫无下手之力,直到看到一个比较秒的解法,才让我搞懂这个题目怎么做。题目解法先确定圈数是(num+1)/2,确定要找的数在第几圈,这个的确定是通过比较 行号,列号,num-行号,num-列号,找到他们的最小值,即是在第几圈,这是看离四边哪边最近。最外圈面积-所在圈的面积=外面所有元素的个数。再模9+1就能得到所在圈得左上角得那个数。最后再判断在圈的哪一边,最后就能计算得出要求的值。怎么判断看代码就懂了,判断写代码的时候得是if else if else i原创 2021-05-28 15:26:24 · 184 阅读 · 0 评论 -
秒求字符串中的单词数(434)
题目描述统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。请注意,你可以假定字符串里不包括任何不可打印的字符。示例 :输入: “Hello, my name is John”输出 : 5解释 : 这里的单词是指连续的不是空格的字符,所以 “Hello,” 算作 1 个单词。解法思路单词的最后一个字符的下一个字符一定是空格,除了最后一个单词,所以我们在遍历字符串时得先判断一下这是不是最后一个字符,这样就解完了,是不是巨简单,还不会的话看看代码就会了。/*统计字符串中的单词个数,这原创 2021-05-27 23:44:20 · 125 阅读 · 0 评论 -
c++刷LeetCode
这题让我知道了字符串之间是靠第一个不同字母的asii码值大小来进行排序的。让我灵活用到了子串的获取函数,获取vector容器中的第一个和最后一个元素的函数。vector容器里面也能够存放字符串,这个得清楚。#include<iostream>#include<vector>#include<string>#include<algorithm>using namespace std;/* 写一个函数来查找字符串数组中的最长公共前缀。如果不存原创 2021-05-01 17:53:55 · 580 阅读 · 0 评论