代码改变世界

docker

2021-01-07 01:34 by woshihuangrulin, 68 阅读, 0 推荐, 收藏, 编辑
摘要:在macbook pro 16上安装docker并测试: 1,安装docker: https://desktop.docker.com/mac/stable/Docker.dmg 2,下载ros的container: docker pull yz16/my_ros 3,启动并进入docker: do 阅读全文

给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。

2020-12-06 01:12 by woshihuangrulin, 166 阅读, 0 推荐, 收藏, 编辑
摘要:对行号和序号还是不熟悉,需要多练习,这个题目里行号从1开始计算会更方便些,这个和数组中从0开始计算有冲突,所以多花了点时间,具体代码如下; class Solution { public: vector<vector<int>> generate(int numRows) { vector<vect 阅读全文

621. 任务调度器

2020-12-05 01:22 by woshihuangrulin, 90 阅读, 0 推荐, 收藏, 编辑
摘要:给你一个用字符数组 tasks 表示的 CPU 需要执行的任务列表。其中每个字母表示一种不同种类的任务。任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时间内执行完。在任何一个单位时间,CPU 可以完成一个任务,或者处于待命状态。 然而,两个 相同种类 的任务之间必须有长度为整数 n 的冷却 阅读全文

204. 计数质数

2020-12-03 23:58 by woshihuangrulin, 121 阅读, 0 推荐, 收藏, 编辑
摘要:注意n的最小因数不超过根号(n-1),还有搜查范围是(2,n-1】,如果n小于等于2,返回0,否则个数基础是1(即2),具体代码如下所示: class Solution { public: int countPrimes(int n) { if (n <= 2) { return 0; } int 阅读全文

767. 重构字符串

2020-12-01 00:46 by woshihuangrulin, 78 阅读, 0 推荐, 收藏, 编辑
摘要:题目链接:https://leetcode-cn.com/problems/reorganize-string/, 将一个字符串重构得到新的字符串相邻的字母不相同,这道题我想到了使用优先队列,但是思路还是错了,正确的思想是使用贪心算法+优先队列+记录表,首先排除无法构成重构字符串的情况(最多的字母个 阅读全文

leet code 54 第二次做数组顺时针展开

2020-11-29 23:54 by woshihuangrulin, 101 阅读, 0 推荐, 收藏, 编辑
摘要:1, 将展开方向使用enum表示; 2,想好循环终止的条件-》转方向时下一次要访问的点越界或者已经访问过 class Solution { public: vector<int> spiralOrder(vector<vector<int>>& matrix) { vector<int> resul 阅读全文

976. 三角形的最大周长

2020-11-29 22:50 by woshihuangrulin, 175 阅读, 0 推荐, 收藏, 编辑
摘要:首先对数组进行排序,成为一个生叙述组,从尾部开始循环,如果此数前面的两个数的和小于等于此数,构成不了三角形,否则就是周长最大的三角形,代码如下 class Solution { public: int largestPerimeter(vector<int>& A) { sort(A.begin() 阅读全文

二叉树最近公共祖先

2020-11-29 01:45 by woshihuangrulin, 85 阅读, 0 推荐, 收藏, 编辑
摘要:二叉树最近祖先,使用递归方法,满足左子树和右子树都找到,或者某一个节点作为根结点而它的子节点包含另一个目标节点 class Solution { TreeNode* ancestor; bool find_ancestor = false; public: TreeNode* lowestCommo 阅读全文

剑指 Offer 58 - I. 翻转单词顺序

2020-11-29 01:22 by woshihuangrulin, 74 阅读, 0 推荐, 收藏, 编辑
摘要:使用快慢指针,注意循环结束后快指针比慢指针大的情况,此时应该将最后一个单词加入到结果中 class Solution { public: string reverseWords(string s) { if (s.empty()) { return s; } int start = -1; vect 阅读全文

线程安全的单例

2020-11-27 01:37 by woshihuangrulin, 109 阅读, 0 推荐, 收藏, 编辑
摘要:自己用两种方式实现了一遍线程安全的单例,第一种方式使用了线程锁: #include <iostream> #include <thread> #include <mutex> class Singleton { public: Singleton(){ std::cout << " Singleto 阅读全文