检查平衡字符串
📖 方法一
思路
直接暴力求解即可。
代码
1234567891011121314151617181920212223#include <string>class Solution {public: bool isBalanced(string num) { int odd = 0; int even = 0; for (int i = 0, len = num.size(); i < len; i++) { int trueNum = num[i] - '0'; if (i % 2 == 0) { even += trueNum; } else { odd += trueNum; } } if (even == odd) return tr ...
矩阵中的蛇
📖方法一
思路
只需要根据 commands 中的命令进行数学运算就可以了。
代码
12345678910111213141516171819202122232425#include <string>class Solution {public: int finalPositionOfSnake(int n, vector<string>& commands) { int endLocation = 0; for (int i = 0; i < commands.size(); i++) { string command = commands[i]; if (command == "UP") { endLocation -= n; } else if (command == "DOWN") { endLocat ...
找到一个数字的
K 美丽值
📖 方法一
思路
首先,将问题进行拆分:
将 num 由 int 类型转化为 string 类型,方便后续获取子字符串。
在 numStr 中遍历所有可能的长度为 k 的 subNumStr:
计算迭代变量 i 能达到的最大值为:numStr.length() - k
利用 string 中的方法 substr 获取子字符串 subNumStr
判断 subNumStr 能否整除 num
利用库函数 atoi 将 string 类型的 subNumStr 转换为
int,该库函数自动考虑了前缀为 0 的情况
如果除数为 0 则 continue,否则如果能整除,则 knum++,否则
continue
代码
1234567891011121314151617181920212223242526#include <string.h>class Solution {public: int divisorSubstrings(int num, int k) { int knum ...
两数之和
📖 方法一:两个 for 循环遍历
思路
首先,也是最容易想到的就是利用两个 for
循环遍历所有的取值可能,如果有两个数的和为 目标值 target
就立即返回这两个数的下标。
代码
12345678910111213141516class Solution {public: int i, j; vector<int> twoSum(vector<int>& nums, int target) { // get the first number for (int size = nums.size(), i = 0; i < size - 1; i++) { // get the second number for (j = i + 1; j < size; j++) { if ((nums[i] + nums[j]) == target) { return {i, ...
知识学习
未读最近,想养成一个能坚持下去的习惯,于是就想到了刷算法题,我接触比较早且掌握还可以的一门编程语言就是
C++,但在打开随机一题之后,发现函数中的 vector<int>
是什么意思我完全没有印象了
😣,脑海里只有数组、容器这两个关键词,所以就想重新复习一下 C++。然后就在
b 站上找到了 Cherno 的 C++ 系列课程,每看完一个小节都感觉自己对 C++
有了新的认识,也学习到了很多技巧,大佬是真的厉害啊
😎(希望自己在将来也能这么厉害!)
1 C++ 编译器的工作过程
当我们编写好了一些 C++ 代码(.cpp
文件)之后,就需要利用编译器将其变成机器可运行的二进制文件(.exe
文件)。
1.1 预处理
首先,编译器在收到 .cpp
文件后,会优先处理其中的预处理语句,即预处理发生在编译之前。一般来说,‘#’
之后的都是预处理语句。
1.1.1 #include 语句
其中,最常用的预处理语句就是 #include <xxx>,其会将 xxx
文件中的所有内容复制粘贴到当前文件中。
#include ...
软件学习
未读1 Obsidian 的使用技巧
1.1 标注
标注是 Obsidian 中特有的语法,用于美化内容。
注意:在复制粘贴含有标注语法的内容到其他 .md
文件时,标注语法会失效。
1.1.1 创建标注
可以利用鼠标的右键菜单来插入标注。
将 [!info] 添加到引用块的第一行。其中
info 是
类型标识符。类型标识符决定了标注的外观,且类型标识符不区分大小写,但部分类型有别名。要查看所有可用类型,可以参阅支持的类型。
示例:
12> [!question] 标注的标题> 标注的内容(内容可省略)
示例输出:
[!question] 标注的标题 标注的内容(内容可省略)
1.1.2 可折叠标注
可以通过在类型标识符后添加加号(+)或减号(-)来使标注可折叠。
加号表示标注默认展开,减号表示标注收起。
示例(以减号为例):
12> [!question]- 可折叠标注> 标注的内容。
示例输出:
[!question]- 可折叠标注 标注的内容。
1.1.3 嵌套标注 ...
Welcome to Hexo! This is your very
first post. Check documentation for
more info. If you get any problems when using Hexo, you can find the
answer in troubleshooting or
you can ask me on GitHub.
Quick Start
这是三片呢?还是四片?
Create a new post
1$ hexo new "My New Post"
More info: Writing
Run server
1$ hexo server
More info: Server
Generate static files
1$ hexo generate
More info: Generating
Deploy to remote sites
1$ hexo deploy
More info: Deployment
提示:如果事情没有按预期出现,请仔细 ...
知识学习
未读
Description:本文是对个人的 Markdown
语法知识进行复习或补充。有关 Markdown
语法的具体内容,可以查看参考资料中的文档。
1 基础语法
1.1 斜体
语法:*斜体*
示例输出:斜体
1.2 粗斜体
语法:***粗斜体***
示例输出:粗斜体
1.3 引用
语法:
1234567> 引用语法>> > 引用语法> >> > > 引用语法> > >> > > > 引用语法
示例输出:
引用语法
引用语法
引用语法
引用语法
1.4 高亮
语法:==想要高亮的内容==
示例输出:==想要高亮的内容==
1.5 删除线
语法:~~想要设置删除线的内容~~
示例输出:想要设置删除线的内容
1.6 下划线
HTML 语法:<u>想要设置下划线的内容</u>
示例输出:想要设置下划线的内容
1.7 编写行 ...


















