自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 jupyter下pytorch(gpucon)的环境配置

上官网找对应的安装代码。

2023-04-02 16:31:20 191

原创 jupyter notebook使用tensorflow(cpu)环境配置 【仅作记录】

运行conda info进行查看,当理想路径位于env第一个路径即可,但是在这种情况下环境仍然可能会安装到别的位置,可以先尝试安装一个环境并用conda info -e进行查看,若安装位置错误,则可能是权限不够的原因。3.此时进入jupyter notebook会发现并没有tf的kernel,而python3.10与nb_conda不兼容,无法安装nb_conda,运行以下代码解决。属性->安全->编辑user权限->给予所有权限即可。找到anaconda文件夹。<改变虚拟环境安装路径>

2023-04-02 15:04:46 709

原创 Leetcode 热题100 回溯

Leetcode 热题100 回溯<按出题频率排列>大佬回溯算法详解:回溯算法入门级详解 + 练习(持续更新) - 全排列 - 力扣(LeetCode) (leetcode-cn.com)22. 括号生成解题思路:如下/*递归每一种字符串加入即可左右括号数量至少有一个不为0,这种情况下只有左括号能为0,右括号必不可能为0,因为最后一个括号一定是右括号*/class Solution {public: void addParenthesis(vector&l

2022-04-26 20:50:48 249

原创 Leetcode 剑指系列 Day 31 数组

Leetcode 剑指系列 Day 31 数学1.剑指 Offer 14- II. 剪绳子 II解题思路:取余的数学推导很复杂,可不看,记下来即可面试题14- II. 剪绳子 II(数学推导 / 贪心思想 + 快速幂求余,清晰图解) - 剪绳子 II - 力扣(LeetCode) (leetcode-cn.com)class Solution {public: int cuttingRope(int n) { if(n <= 3) return n - 1;

2022-04-26 20:49:56 115

原创 Leetcode 剑指系列 Day 30 分治算法

Leetcode 剑指系列 Day 30 分值算法1.剑指 Offer 17. 打印从1到最大的n位数解题思路:若返回的vector 那没什么好说的class Solution {public: vector<int> printNumbers(int n) { vector<int> res; for(int i = 1; i < pow(10, n); i++){ res.push_back(i)

2022-04-26 20:49:26 100

原创 Leetcode 剑指系列 Day 29 动态规划

Leetcode 剑指系列 Day 29 动态规划1.剑指 Offer 19. 正则表达式匹配解题思路:2.剑指 Offer 49. 丑数借鉴题解:剑指 Offer 49. 丑数(动态规划,清晰图解) - 丑数 - 力扣(LeetCode) (leetcode-cn.com)class Solution {public: int min(int a, int b, int c){ return a < b ? (a < c ? a : c) :

2022-04-26 20:48:55 87

原创 Leetcode 剑指系列 Day 28 搜索与回溯

Leetcode 剑指系列 Day 28 搜索与回溯1.剑指 Offer 37. 序列化二叉树解题思路:tree -> string 层序遍历string -> tree 先将字符串分解并用其初始化节点保存入数组中,利用数组将各个节点连接起来class Codec {public: // Encodes a tree to a single string. string serialize(TreeNode* root) { string res;

2022-04-26 20:48:27 754

原创 Leetcode 剑指系列 Day 27 栈与队列

Leetcode 剑指系列 Day 27 栈与队列1.剑指 Offer 59 - I. 滑动窗口的最大值解题思路:如下/*step1:找到第一个窗口内的最大值(遍历实现)step2:逐步滑动窗口,每次新增的数与上一轮的最大值进行对比即可注:该问题的难点在于,上一轮的最大值下一轮不一定存在于滑动窗口之中,故这种方法无法使用,下面是一种单调队列的方法单调队列:对于[1,5,9,3,5,7,2,6,8,4,10] 3的题过程如下:队列 结果 左右边界

2022-04-13 15:56:36 107

原创 Leetcode 剑指系列 Day 26 字符串

Leetcode 剑指系列 Day 26 字符串1.剑指 Offer 20. 表示数值的字符串解题思路:状态机2.剑指 Offer 67. 把字符串转换成整数解题思路:步骤:1.跳过空格2.判断符号3.先用(long)temp进行计算,若在范围内,则转为(int)型//没有越界判断的版本class Solution {public: int strToInt(string str) { int length = str.size();

2022-04-12 14:07:07 51

原创 Leetcode 剑指系列 Day 25 模拟

Leetcode 剑指系列 Day 25 模拟1.剑指 Offer 29. 顺时针打印矩阵解题思路:1 2 3 45 6 7 89 10 11 12解题思路:设矩形为m行n列第一轮:行打m-1个数,列打n-1个数第二轮:行打m-3个数,列打n-3个数以此类推如上题打印顺序为:1.行 1 2 3列 4 8行 12 11 10列 9 52.行 6列行 7列END注:对于单行单列需要特殊处理,且应当优先判定行数,行数不为0的情况下才能判断列数,不然会报

2022-04-12 14:06:22 79

原创 Leetcode 剑指系列 Day 24 数学

Leetcode 剑指系列 Day 24 数学1.剑指 Offer 14- I. 剪绳子解题思路:设绳长为n因为至少要剪成两段,故对都从剪成两段开始,测到剪成n段,逐个比较最大乘积算法过程(剪为m段为例):假设对于绳长为n的绳子,要剪成m段,其最大乘积一定是最为平均的分配方式(即各个段长差值不会超过1)即维护一个 flag = n/m,mod = n%m最大乘积应该是(m - mod)段长为flag的段和(mod)段长为(flag + 1)的段相乘通过上述遍历方式计算每个分解形式的最大乘积

2022-04-12 14:05:28 1365

原创 Leetcode 剑指系列 Day 23 数学

Leetcode 剑指系列 Day 23 数学1.剑指 Offer 39. 数组中出现次数超过一半的数字解题思路:根据先序遍历和中序遍历的性质,每次遍历均可以确定一个中间节点和左右子树在数组中的位置,可以利用递归逐层建立树算法过程:(prePosition为先序遍历的当前节点,inHead,inEnd为中序遍历下标范围)class Solution {public: int majorityElement(vector<int>& nums) {

2022-04-12 14:04:52 1070

原创 Leetcode 剑指系列 Day 22 位运算

Leetcode 剑指系列 Day 22 位运算1.剑指 Offer 56 - I. 数组中数字出现的次数/*寻找异或和最低位为1的位置因为这个位置就是两个出现一次的数的最低位的不同,同时,还可以依据这一位数将其他出现两次所有数分成两组,即该位为1的一组,为0的另一组,两组分别异或,即可得到两的出现一次的数。*/class Solution {public: vector<int> singleNumbers(vector<int>& nums) {

2022-04-12 14:03:48 84

原创 Leetcode 剑指系列 Day 21 位运算

Leetcode 剑指系列 Day 21 位运算1.剑指 Offer 15. 二进制中1的个数class Solution {public: int hammingWeight(uint32_t n) { int count = 0; while(n != 0){ if(n & 1) count++; n >>= 1; } return count; }

2022-04-12 14:03:16 89

原创 Leetcode 剑指系列 Day 20 分治算法

Leetcode 剑指系列 Day 20 分治算法1.剑指 Offer 07. 重建二叉树解题思路:根据先序遍历和中序遍历的性质,每次遍历均可以确定一个中间节点和左右子树在数组中的位置,可以利用递归逐层建立树算法过程:(prePosition为先序遍历的当前节点,inHead,inEnd为中序遍历下标范围)class Solution {public: TreeNode* rebuildTree(vector<int>& preorder, vector<i

2022-04-12 14:02:47 1095

原创 Leetcode 剑指系列 Day 19 搜索与回溯

Leetcode 剑指系列 Day 19 搜索与回溯1.剑指 Offer 64. 求1+2+…+n解题思路:利用逻辑运算符的短路效应进行计算class Solution {public: int add(int n){ int temp = 0; n && (temp = add(n - 1));//若n = 0,那么temp = add(n - 1)不会执行 return n + temp; }

2022-03-14 09:28:43 110

原创 Leetcode 剑指系列 Day 17 排序

Leetcode 剑指系列 Day 17 排序1.剑指 Offer 55 - I. 二叉树的深度解题思路:先序遍历树即可class Solution {public: int findDepth(TreeNode* Node, int depth){ if(Node == NULL) return depth; depth++; return max(findDepth(Node->left, depth), findDepth(N

2022-03-13 11:15:05 635

原创 Leetcode 剑指系列 Day 16 排序

Leetcode 剑指系列 Day 16 排序1.剑指 Offer 45. 把数组排成最小的数解题思路:重新将数组排序,最后逐个输入string排序规则:防止各数相加过大,利用字符串相加进行比较若"num1" + “num2” > “num2” + “num1”,将num2排在前面,否则反之排序用快排可得到如下代码class Solution {public: void quickSort(vector<int>& nums, int head, i

2022-03-11 14:25:08 975

原创 Leetcode 剑指系列 Day 15 搜索与回溯

Leetcode 剑指系列 Day 15 搜索与回溯1.剑指 Offer 34. 二叉树中和为某一值的路径解题思路:设置一个返回值为void的先序遍历函数,逐个遍历树的各个节点并加入测试数组,当遍历至叶节点且sum值满足时,将测试数组push入答案二维数组。算法步骤:1.检查终止条件当前节点为NULL,立即返回2.当前节点运算步骤将当前节点值push入测试数组sum加上当前节点值并进行判断,若sum符合条件且该节点为叶节点,将此时的测试数组push入ans3.查找左孩子节点4.查找右

2022-03-10 19:30:06 87

原创 Leetcode 剑指系列 Day 14 搜索与回溯

Leetcode 剑指系列 Day 14 搜索与回溯1.剑指 Offer 12. 矩阵中的路径class Solution {public: bool exist(vector<vector<char>>& board, string word) { line = board.size(); colw = board[0].size(); int k = 0; //以行优先的方式选择头结点开始逐个遍

2022-03-09 14:55:06 97

原创 Leetcode 剑指系列 Day 13 双指针

Leetcode 剑指系列 Day 12 双指针1.剑指 Offer 21. 调整数组顺序使奇数位于偶数前面解题思路:从数组首尾同时开始遍历,设置L = 0, R = n - 1;会有如下四种情况(以Ln, Rn 分别代指左右左右指针所指的指):(1) Ln为奇数,Rn为偶数 ----> Ln++, Rn–(2) Ln为偶数,Rn为奇数 ----> 二者交换后 Ln++, Rn–(3) Ln为奇数, Rn为奇数 ----> Ln++(4) Ln为偶数, Rn为偶数 --

2022-03-02 17:01:55 8315

原创 Leetcode 剑指系列 Day 12 双指针

Leetcode 剑指系列 Day 12 双指针1.剑指 Offer 25. 合并两个排序的链表很简单的一道题,不做概述class Solution {public: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { ListNode* mov1 = l1; ListNode* mov2 = l2; ListNode* anshead = new ListNode; Li

2022-02-19 15:23:11 535

原创 Leetcode 剑指系列 Day 11 双指针

Leetcode 剑指系列 Day 11 双指针剑指 Offer 18. 删除链表的节点[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IUsnjheu-1645255068479)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20220218221804952.png)]很基础的一道题,不做概述,这里没有用双指针,用一个指针即可完成遍历class Solution {public:

2022-02-19 15:19:16 208

原创 Leetcode 剑指系列 Day 9 动态规划

1.剑指 Offer 42. 连续子数组的最大和动态规划思考过程: 状态定义:设 dp[i] 为以nums[i] 结尾所能获取的连续数组最大和,nu[i]为包含i的连续数组最大值;​ 转移方程:那么很好想到dp[i] 应该为 dp[i - 1] 、nu[i]之间的最大值;即有 dp[i] = max( dp[i - 1], nu[i]);​ 初始状态:dp[0] = nums[i], nu[0] = nums[i];​ 返回值:dp[n - 1] 其中...

2022-02-15 19:41:51 381

原创 Leetcode 剑指系列 Day 8 动态规划

leetcode剑指 刷题记录初步思路:题知条件已经给出了递归公式,采用递归做这题无疑,于是写下了如下代码:class Solution {public: int fib(int n) { //边界条件 if(n == 0) return 0; if(n == 1) return 1; //递归 return (fib(n - 1) + fib(n - 2)) % .

2022-02-14 14:13:21 8187

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除