网站建设续费是那些,充值中心网站怎么做,深圳vi设计公司深圳logo设计,小程序代理须知2.3 自定义自己使用的代码片段 刷leetcode应该会很有用#xff0c;比如引入一些链表node或者是图的定义等等。 比如写ROS的RVIZ输出的时候#xff0c;能够有一个标准的代码片段的标准输出很有用。 比如写旋转矩阵或者类似的东西的时候 这里可以创建两种snippets的配置文件比如引入一些链表node或者是图的定义等等。 比如写ROS的RVIZ输出的时候能够有一个标准的代码片段的标准输出很有用。 比如写旋转矩阵或者类似的东西的时候 这里可以创建两种snippets的配置文件第一种是global的全局snippets配置文件适合一些注释等所有语言都适用的情况 我主要是使用了第二种针对某一种语言创建snippets配置文件 这里我主要为C程序和Python程序创建了Code Snippet文件我将我的代码文件template分享
首先是Python的template模板(python.json文件)
{// Place your snippets for python here. Each snippet is defined under a snippet name and has a prefix, body and // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the // same ids are connected.// Example:// Print to console: {// prefix: log,// body: [// console.log($1);,// $2// ],// description: Log output to console// }prefixs for leetcode: {prefix: prefix for leetcode,body: [from typing import List,from queue import Queue,],description: prefix for leetcode},main for leetcode: {prefix: main for leetcode,body: [if __name__ \__main__\:, solution Solution(), grid [[1,1,0,0,0],, [1,1,0,0,0],, [0,0,1,0,0],, [0,0,0,1,1]], result solution.numIslands(grid), print(f\result {result}\), ,],description: main for leetcode},bfs template: {prefix: bfs template,body: [def bfs(_grid: List[List[str]], _visited: List[List[bool]], _i: int, _j: int):, dirs [[-1, 0], [1, 0], [0, -1], [0, 1]], que Queue(0) # 0意味着初始化无线长度的queue, que.put([_i, _j]), _visited[_i][_j] True, while not que.empty():, cur que.get(), curx cur[0], cury cur[1], for n in range(4):, nextx curxdirs[n][0], nexty curydirs[n][1], if(nextx 0 or nextx len(_grid) or, nexty 0 or nexty len(_grid[0])):, continue, if(_visited[nextx][nexty] is False and _grid[nextx][nexty] 1):, que.put([nextx, nexty]), _visited[nextx][nexty] True,],description: bfs template}}其次是C的template模板(cpp.json文件)
{// Place your snippets for cpp here. Each snippet is defined under a snippet name and has a prefix, body and // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the // same ids are connected.// Example:// Print to console: {// prefix: log,// body: [// console.log($1);,// $2// ],// description: Log output to console// }sort algorithm with lambda: {prefix: sort_lambda,body: [std::vectorint v;,\/\/ 需要对v从大到小排列,sort(v.begin(), v.end(),[](int a, int b){return ab;});],description: Log output to console},prefixs for leetcode: {prefix: prefix for leetcode,body: [#include algorithm,#include iostream,#include unordered_set,#include vector,#include math.h,#include limits.h,using namespace std;,struct TreeNode {, int val;, TreeNode *left;, TreeNode *right;, TreeNode() : val(0), left(nullptr), right(nullptr) {}, TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}, TreeNode(int x, TreeNode *left, TreeNode *right), : val(x), left(left), right(right) {},};,],description: prefix for leetcode},main for leetcode: {prefix: main for leetcode,body: [int main() {, // 示例二叉树, Solution solution;, vectorint nums {7, 1, 5, 3, 6, 4};, int result solution.maxProfit(nums);, std::cout \result: \ result std::endl;,},],description: main for leetcode}
}