![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程基础
文章平均质量分 78
lankuohsing
自动化研究生
展开
-
k-sum问题及变种题算法总结(持续更新中)
文章目录1. 青铜级: leetcode-[1\. 两数之和](https://leetcode-cn.com/problems/two-sum/)1. 青铜级: leetcode-1. 两数之和给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。虽然本级是青铜级,但是如果你写两层for循环时间复.原创 2021-12-06 23:35:00 · 1245 阅读 · 0 评论 -
数据结构与算法之原地操作数组相关
1. 在数组中删除符合指定条件的元素,空间复杂度O(1)1.1. leetcode-27. 移除元素给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。思路:用两个指针从起始位置开始往后走,一个j用于记录当前有效位置,另一个i用于遍历数组所有元素。当i指向的元素不需要移除,则放到i处,并让i+1;原创 2021-12-05 20:44:56 · 470 阅读 · 0 评论 -
基于动态规划的编辑距离计算公式及应用
文章目录1. 编辑距离的定义2. 基于动态规划的求解算法2.1. 递推公式https://www.jianshu.com/p/a617d20162cf1. 编辑距离的定义编辑距离(Minimum Edit Distance,MED),由俄罗斯科学家 Vladimir Levenshtein 在1965年提出,也因此而得名 Levenshtein Distance。编辑距离一般用于度量两个序列相似程度的指标,具体来说,它计算的是一个序列A最少可以经过多少次操作变成另一个序列。这里的操作包括以下三种:.原创 2021-10-29 23:28:52 · 699 阅读 · 0 评论 -
深度学习之GPU设置相关
os.environ[“CUDA_VISIBLE_DEVICES”]=“5,7”使得只有编号为5和7的GPU可见使用horovod时会把5和7重新编号为0和1hvd.local_rank()默认是0也即实际用的是编号为5的GPU原创 2021-09-16 16:06:25 · 324 阅读 · 0 评论 -
数据结构基础——链表相关操作及应用(含python代码,更新中)
文章目录0. 链表的数据结构描述1. 常见操作1.1 删除链表中的结点1.2 合并有序链表1.3. 反转链表众所周知,计算机中的数据结构底层无非是链表(linked list)或者线性表(linear list)。因此,掌握这些基本的数据结构的结构和常用操作是很重要的。本文我们来介绍一下链表的常用操作,主要采用经典算法题的形式来加以呈现说明0. 链表的数据结构描述略1. 常见操作1.1 删除链表中的结点leetcode-237 237. 删除链表中的节点请编写一个函数,使其可以删除某个链表中.原创 2021-07-06 22:17:34 · 280 阅读 · 1 评论 -
二叉树遍历相关算法代码实现
文章目录0. 二叉树的定义:1. 前序遍历1.1. 递归方式前序遍历:1.2. 非递归方式前序遍历2. 中序遍历2.1. 递归方式中序遍历:2.2. 非递归方式中序遍历3. 后序遍历3.1. 递归方式后序遍历:3.2. 非递归方式后序遍历完整版python代码见https://github.com/lankuohsing/DataStructureInPython/blob/main/tree/binary_tree/binary_tree.py欢迎给star!0. 二叉树的定义:Python版实.原创 2021-05-07 20:34:09 · 290 阅读 · 0 评论 -
TensorFlow/PyTorch中张量(Tensor)的底层存储方式
文章目录0. 张量(Tensor)基本概念回顾1. tensor在计算机内存中的存储方式0. 张量(Tensor)基本概念回顾张量(Tensor)其实就是多维数组,类似于NumPy里面的np.array。这里的维度,更准确的讲法应该叫阶(rank),这是为了跟向量(vector)的维度区分开的。vector其实就是rank为1的张量,我们说一个vector是n维的其实是说它有n个分量(标量)。而如果张量的维度(阶)是n维的,并不是说它有n个标量分量,而是说在表示这个张量时需要用n个坐标轴。每个轴上都.原创 2021-02-03 00:39:25 · 1948 阅读 · 2 评论 -
TensorFlow学习笔记之tensorboard
文章目录1. anaconda多个环境下tensorboard的安装和使用1. anaconda多个环境下tensorboard的安装和使用如果anaconda中有一个环境,例如叫tf_1_15,里面安装了tensorboard,那么在base环境里面列出所有包的list里面是没有tensorboard的,所以在base里面无法使用tensorboard(无论是anaconda命令行还是cmd命令行,无论是不是在tensorboard.exe的路径下),但是如果你尝试在base环境下安装tensorb.原创 2020-12-06 15:32:42 · 141 阅读 · 0 评论 -
TensorFlow学习笔记之DataSet中shuffle,batch和repeat的用法详解
话不多说,看代码代码git链家:https://github.com/lankuohsing/TensorFlowStudy/blob/master/dataset_usage/shuffle_batch_repeat.py# -*- coding: utf-8 -*-"""Created on Fri Dec 4 21:08:13 2020@author: lankuohsing"""import tensorflow as tfimport numpy as np# In[]原创 2020-12-05 16:48:01 · 1608 阅读 · 0 评论 -
算法基础之回溯与深度优先遍历
文章目录1. 回溯算法的三要素2. 回溯算法的例子2.1. 求子集问题 “回溯法”也称“试探法”。它是从问题的某一状态出发,不断“试探”着往前走一步,当一条路走到“尽头”,不能再前进(拓展出新状态)的时候,再倒回一步或者若干步,从另一种可能的状态出发,继续搜索,直到所有的“路径(状态)”都一一试探过。回溯算法可以看做是深度优先遍历算法的一种。深度优先搜索可以采用递归(系统栈)和非递归(手工栈)两种方法实现。往往需要记录整颗搜索树。回溯算法一般不用记录整颗搜索树。1. 回溯算法的三要素回.原创 2020-09-29 00:12:47 · 2000 阅读 · 2 评论 -
算法基础之递归与动态规划
文章目录1. 递归算法的适用场景2. 递归的三要素3. 递归的缺点4. 递归算法的例子4.1. Fibonacci数列4.1.1. 解法一:原始的递归不做任何优化4.1.2. 带备忘录的递归算法1. 递归算法的适用场景当一个大规模的问题与小规模的问题有着相同的形式,解决大规模的问题和解决小问题的方法是同一个方法时,就可能可以用递归的算法来解决。递归算法的特点为:一个函数递归调用本身(由后向前),通过递归调用来缩小问题的规模,直到组中遇到退出条件,再由前向后组装出目标解。2. 递归的三要素明确函数.原创 2020-09-19 00:32:55 · 1478 阅读 · 2 评论 -
数据结构基础之栈与队列
文章目录1. Java中的栈Stack1.1. Stack的应用之括号匹配2. Java中的队列Queue1. Java中的栈Stack栈是Vector的一个子类,它实现了一个标准的后进先出的栈。序号方法描述1boolean empty()测试堆栈是否为空。2Object peek( )查看堆栈顶部的对象,但不从堆栈中移除它。3Object pop( )移除堆栈顶部的对象,并作为此函数的值返回该对象。4Object push(Object element.原创 2020-09-09 23:05:57 · 140 阅读 · 0 评论 -
算法基础之二分查找
二分查找文章目录二分查找1.二分查找的一般场景2.二分查找的简单场景-升序不重复数组查找指定元素3.二分查找思想的高阶应用(待更新)源代码链接:https://github.com/lankuohsing/LeetCode-Java/tree/master/LeetCodeInJava/src/binary_search1.二分查找的一般场景给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target,返回target在nums中的下标;如果目标值不存在,则返回-1;如果目标值原创 2020-07-21 23:10:47 · 215 阅读 · 0 评论