03 2023 档案
摘要:给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值。 class MyQueue{ public: //这个队列要保持里面的元素是递减的 void push(int val
阅读全文
摘要:给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意: 有效的算符为 '+'、'-'、'*' 和 '/' 。 每个操作数(运算对象)都可以是一个整数或者另一个表达式。 两个整数之间的除法总是 向零截断 。 表达式中不
阅读全文
摘要:给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。 在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。 class Solution { public: using size = string::siz
阅读全文
摘要:给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 每个右括号都有一个对应的相同类型的左括号。 class Solution { public: using siz
阅读全文
摘要:1 oop的思想是 数据抽象 继承 和 动态绑定 数据抽象可以将类的接口与实现分离; 继承 动态绑定,又称运行时绑定 2 虚函数是基类希望其派生类进行覆盖的函数 <1> 任何构造函数之外的非静态函数都可以是虚函数 <2> 成员函数若没有被声明为虚函数。则其解析过程发生在编译时而非运行时 <3> 派生
阅读全文
摘要:请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 实现 MyStack 类: void push(int x) 将元素 x 压入栈顶。 int pop() 移除并返回栈顶元素。 int top() 返回栈顶元素。 boole
阅读全文
摘要:请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int peek() 返回队列开头的元素 boo
阅读全文
摘要:在做C++ primer的课后题时,有一道为自己写的类定义拷贝控制操作,之后定义一个vector 进行push_back并观察vector的capacity。通过查资料了解到vector当达到扩容要求时,会将所有的旧元素移动到新的位置,所以我以为总共会移动n个元素,但通过打印发现每次只移动了n-1次
阅读全文
摘要:#ifndef STRVEC_H_ #define STRVEC_H_ #include <iostream> #include <stdio.h> #include <string> #include <memory> #include <algorithm> #include <initiali
阅读全文
摘要:#ifndef STRVEC_H_ #define STRVEC_H_ #include <string> #include <utility> #include <memory> #include <initializer_list> #include <algorithm> class StrV
阅读全文
摘要:请实现一个函数,把字符串 s 中的每个空格替换成"%20" class Solution { public: string replaceSpace(string s) { //快慢指针从头遍历 每遇到一个空格 就让快指针多走两步 int fast = 0; int slow = 0; for (;
阅读全文
摘要:给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 class Solution { pu
阅读全文
摘要:1: void 可以指向任何类型的对象,但是不能直接操作所指向的对象* 2: 常量指针可以指向非常量对象 double dval = 3.14; const double *cptr = &dval; 合法,const double *只是让指针自以为指向常量,所以自觉不会改变所指向的值 3 抽象的
阅读全文
摘要:https://leetcode.cn/problems/reverse-linked-list-ii/solutions/37247/bu-bu-chai-jie-ru-he-di-gui-di-fan-zhuan-lian-biao/
阅读全文
摘要:给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。 class Solution { public: void getnext(string& s,int *next) { int j = -1; next[0] = j; for (int i = 1; i < s.size(
阅读全文
摘要:1 引用的底层实现是指针常量 int* const 但是指针常量>引用 比如数组就不可以用引用的方式,比如int &arr[] 这样会导致arr[0] = 8 ,程序不知道是将数组下标0的内容置为8,还是所引用的值置为8. 2 函数传参的时候会忽略顶层const 3 函数传参的时候,如果不改变参数的
阅读全文
摘要:字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。 1 class Solution { 2 public: 3 void reverse(stri
阅读全文
摘要:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. ",则输出"student. a am I"。 1 class Solution { 2 public: 3 //利用容器的方法 4 string
阅读全文
摘要:给定一个字符串 s 和一个整数 k,从字符串开头算起, 每计数至 2k 个字符,就反转这 2k 个字符中的前 k 个字符。 如果剩余字符少于 k 个,则将剩余字符全部反转。 如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。 示例: 输入: s = "abcdef
阅读全文
摘要:1 class QueryResult 2 { 3 public: 4 int frequence; 5 int hanghao[20]; 6 string text[20]; 7 8 QueryResult() :frequence(0), hanghao(), text() {}; 9 Quer
阅读全文
摘要:1 #include <iostream> 2 #include <stdio.h> 3 #include <string> 4 #include <memory> 5 #include <algorithm> 6 #include <initializer_list> 7 #include <me
阅读全文
摘要:题意:给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。 注意: 答案中不可以包含重复的四元组。 示例: 给定数组 nums
阅读全文
摘要:1.不使用相同的内置指针值初始化(或 reset)多个智能指针 有一个现成的约定是当我们将一个原生指针交给(具有资源所有权的)智能指针的时候,这个智能指针被允许认为自己暂时获得了这个原生指针指向资源的独占所有权。对于std::shared_ptr,分享所有权虽然是其功能之一,但如果它即将指向的资源所
阅读全文
摘要:给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 1 class Solution {
阅读全文
摘要:给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, k, l < n nums1[i] + nums2[j] + nums3[k] + nums4[l] == 0 1 class
阅读全文
摘要:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 1 class Solution { 2
阅读全文