自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 model.fit结合dataset实现输入数据的正样本加权

最近写代码想实现给我的loss正样本加权,因为我的数据集中正样本占比只有15.79%,为了保证tensorflow的IO性能,我采取使用dataset构建高效的数据输入流水线。正在我忧愁要不要自己写weight_loss函数的时候开心地发现model.fit提供了参数class_weight,只需要输入字典结构的class_weight就可自动实现对已有的loss进行分类别的加权。(不要以为w...

2020-04-03 21:58:15 1132

原创 tf2.0中metrics原理

最近写的代码涉及到的metric包括precision,recall,f1,无奈的是tf2.0中没有f1的指标。看了很多人的博客说是f1=2 * p* r / ( p + r )。公式是这样没错,但是如果不结合tf.keras.metric的计算原理来写代码那就大错特错。首先上正确的F1书写方式:class F1_score(keras.metrics.Metric): def __ini...

2020-04-03 21:57:23 1127

原创 ckpt-data-xxxx-of-xxxx有两个

最近使用tf.keras训练模型,发现我的本地存储权重的模块总是两个.ckpt-data-0000-of-0001和ckpt-data-0001-of-0002,但是tensorflow官方的说法是在多个机器上训练才会有多个,但是我本地一台机器为什么有两个呢?stackoverflow上看到原因,原来由于我本地模型一部分在cpu,一部分在gpu,最终就产生了两个权重文件,当我禁用gpu后果然只有...

2020-04-02 15:38:21 669 5

原创 面试题36. 二叉搜索树与双向链表

输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。为了让您更好地理解问题,以下面的二叉搜索树为例:我们希望将这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。对于双向循环链表,第一个节点的前驱是最后一个节点,最后一个节点的后继是第一个节点。下图展示了上面的二叉搜索树转化成的链表。“head” 表示指...

2020-03-22 12:34:04 172

原创 g++编译运行后中文部分乱码

最近学C++发现代码中cout中文的时候会出现乱码,但是我的代码文本是用utf8保存的,按道理这就是C++默认支持的类型,不应该出错,而且发现使用notepad++转换成ansi编码后控制台就能正常显示了。于是找了找原因,发现是中国用户的控制台默认使用的是gbk编码,这样我的utf8文件被控制台解码为gbk文件给了C++编译器,当然就出现了问题。为了使得默认的控制台编码为utf8,我更改了系统设置...

2020-03-21 21:19:49 845

原创 面试题34 二叉树中和为某一值的路径

输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径。从树的根节点开始往下一直到叶节点所经过的节点形成一条路径。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1...

2020-03-21 16:58:35 99

原创 python中的包

        之前好几次遇到python包这个问题都是一知半解,好几次遇到问题都是靠尝试暂时解决了问题但是不知道原因是什么。这篇博客主要讲述与包相关的4个概念,分别是class、module、package、namespace。这几个概念可以认为是逐级上升的。当然namespace和package这两个的关系也不一定...

2020-03-20 13:43:06 272

原创 二叉树前序中序后续遍历的栈实现

        前两天遇到一道树的遍历题目,虽然说用递归写起来很快,但为了以防万一还是回忆了下之前学过用栈的方式实现。依稀记得第一次学习使用栈实现时,对前序和中序遍历理解很好,但是一直不能理解后续遍历的实现,今天又想了一会儿,发现自己也忘了先序和中序遍历的实现。我发现我会陷入由于根节点没有在合适的时机出栈造成遍历出现死...

2020-03-17 12:23:24 582

原创 1035. 不相交的线

我们在两条独立的水平线上按给定的顺序写下 A 和 B 中的整数。现在,我们可以绘制一些连接两个数字 A[i] 和 B[j] 的直线,只要 A[i] == B[j],且我们绘制的直线不与任何其他连线(非水平线)相交。以这种方法绘制线条,并返回我们可以绘制的最大连线数。示例 1:输入:A = [1,4,2], B = [1,2,4]输出:2示例 2:输入:A = [2,5,1,2,5],...

2020-03-16 10:45:17 1397

原创 最短路径算法

最短路径问题就是寻找从某个节点出发到其它所有节点的最短路径。最近突然又想到这个问题,就写写Dijkstra与Floyd算法的代码,这两种算法都是贪心算法。相比较于有向图,无向图的邻接矩阵是对称的,二者解法相同,为了便于描述,下面全部使用有向图。当存在负边时,Dijkstra失效。贪心算法:贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加...

2020-03-14 22:01:10 847

原创 4. 寻找两个有序数组的中位数

给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]则中位数是 (2 + 3)...

2020-03-09 10:23:51 150

原创 css哆啦A梦代码重构

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>哆啦A梦</title> <style type="text/css"> #wrapper{ width: 400px; margin: 10px auto 0...

2020-03-04 21:06:34 214

原创 css-哆啦A梦

最近看css的书籍,看到书上有个哆啦A梦的图片,但是没有代码,写了下,就是直线比较多优点呆板:)效果:<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>哆啦A梦</title> <style type="text/css"&g...

2020-03-04 16:10:16 302

原创 划分k个相等的字符集

leetcode#698给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。示例 1:输入: nums = [4, 3, 2, 3, 5, 2, 1], k = 4输出: True说明: 有可能将其分成 4 个子集(5),(1,4),(2,3),(2,3)等于总和。注意:1 <= k <= len(nums) &...

2020-02-27 16:56:16 173

原创 01背包问题初探

本文规划路径的寻找参见博客参考题目:背包容量为12,有物品1,2可供选择物品占用空间价值数量物品1235物品2342求在背包中装入价值最大的解决方案。思路:5个物品1可等价为5个物品,2个物品2可以等价为2个物品,这样一共有7个物品,转换为7个物品的0-1背包问题。对于第i个物品,背包问题的基本递推公式如下:Wi>W,装...

2020-02-25 22:53:25 197

原创 Jam字符串

     jam数是指按字母表升序排列的字符串,例如acfgh。现要求找出满足如下要求的所有jam数的个数:输入:k, v, m字符串strs输出:比字符串strs大的jam字符串数量解释:k,v表示字符在字母表中的位置,a ~ z对应1~26,m和字符串strs的长度相同两个字符串A,B从左到右逐个字符按字母表比较,如果...

2020-02-25 11:09:59 158

原创 Windows下安装mysql

mysql卸载最近安装mysql出现了一些问题,之前安装mysql后忘记root密码,后来使用各种方法一直行不通mysqld一直起不来。之前一直使用mysql提供的install tool安,但是自己没去真正配置过mysql,卸载也很容易卸载不干净。最近采用压缩包安装很方便https://dev.mysql.com/downloads/mysql/。mysql安装安装步骤:1.下载mysq...

2019-09-24 14:26:27 152

原创 tensorboard一直显示inactive解决方案

最近使用tensorboard显示神经网络,但是一连找了1个多小时一直都是inactive。 我的环境: win10,anaconda3搭建的python3.7虚拟环境 命令行操作: E:\PycharmProjects\untitled>conda activate python37 (python37) E:\PycharmProjects\untit...

2019-07-28 13:19:24 1257

原创 C语言种if只区分0与非0

以前一直想当然认为t<=0,那么if(t){}不会执行,今天才发现if把0当作flase,其它全为true。int main(){ if(-1){ printf("1"); } if(0){ printf("2"); } if(1){ printf("3"); } if(!(-1)){ printf("4"); } if(!0){ printf("5"...

2019-05-27 00:01:51 4371 2

原创 9种排序算法实现

#include<stdio.h>#include<stdlib.h>#include<math.h>void swap(int a[],int idx_i,int idx_j){ if(idx_i==idx_j) return; int t=a[idx_i];a[idx_i]=a[idx_j];a[idx_j]=t;}//选...

2019-05-25 18:26:31 184

原创 Complete Binary Search Tree(完全二叉搜索树)

Complete Binary Search TreeA Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties:The left subtree of a node contains only nodes with keys less than th...

2019-05-12 17:20:16 349

原创 六度空间

六度空间“六度空间”理论又称作“六度分隔(Six Degrees of Separation)”理论。这个理论可以通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过五个人你就能够认识任何一个陌生人。”如图1所示。“六度空间”理论虽然得到广泛的认同,并且正在得到越来越多的应用。但是数十年来,试图验证这个理论始终是许多社会学家努力追求的目标。然而由于历史的原因,这样...

2019-05-12 13:25:51 3539

原创 拯救007

Saving James Bond - Easy Version挺有意思的一个题目,考察图的BFS或者DFS,这里我用DFS,写起来比较容易。This time let us consider the situation in the movie “Live and Let Die” in which James Bond, the world’s most famous spy, was c...

2019-05-12 09:51:53 234

原创 并查集的查找,归并操作

一般二叉树的结构是:数据域+左右孩子,指针域是指向孩子的,称为树的孩子表示法;但归并集往往是判断元素是否在同一个集合,因此构造的结构是:数据域+指针域,其中指针指向父节点,称为树的双亲表示法。并查集常常用来实现连接关系的传递性,例如A连接B,B连接C,那么并查集就可以实现A,B,C全部连接。原题PTAWe have a network of computers and a list of ...

2019-05-11 16:29:30 812

原创 AVL树的建立过程

原题PTAAVL树是一种平衡的二叉搜索树,每个节点的平衡因子绝对值小于等于1。分4种情况的旋转:RR右单旋LL左单旋LR旋转(通过先右旋再左旋解决)RL旋转(通过先左旋再右旋解决)题目An AVL tree is a self-balancing binary search tree. In an AVL tree, the heights of the two chi...

2019-05-10 19:22:23 2118

原创 判断二叉搜索树是否同构

原题来源PTA给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。输入格式:输入包含若干组测试数据。每组数据的第1行给出两个正整数N (≤10)和L,分别是每个序列插入元素的...

2019-05-10 18:07:36 225

转载 单链表原地逆序

02-线性结构2 Reversing Linked List转载于Given a constant K and a singly linked list L, you are supposed to reverse the links of every K elements on L. For example, given L being 1→2→3→4→5→6, if K=3, then y...

2019-05-10 14:04:57 1062

原创 串的模式匹配算法

串的模式匹配问题实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = “hello”, needle = “ll”输出: 2示例 2:输入: haystack = “aaaaa”, need...

2019-04-14 00:00:56 557

原创 经典算法1-回溯算法

经典算法1-回溯算法回溯算法的基本思想:完成一件事可分为有限步骤,而每一个步都只有有限个选择,按照穷举法的思路,每一步尝试各种选择,当该步选择无法满足约束条件时,放弃从该选择之后的所有路径。回溯法的思路看起来和穷举法类似,但一般穷举法是先列举所有可能出现的情形,再去逐一判断每一种情况是否满足约束条件;而回溯法是在选择的过程种就加以判断,因此避免了大量不必要的枚举。难点:发掘动态判断过程中的...

2019-04-13 15:56:43 189

原创 leetcode题目-电话号码的字母组合

电话号码的字母组合给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母示例:输入:“23”输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。难点分析:主要是由于输...

2019-04-13 08:57:19 280

原创 leetcode题目- 3数最接近target

leetcode题目- 3数最接近target原题给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = ...

2019-04-12 17:12:37 662

原创 leetcode题目-3数 之和

三数之和题目重复如下:给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[[-1, 0, 1],[-1, -1, 2]]思路如下:...

2019-04-11 14:51:28 164

原创 c语言实现快排

c语言实现快排课本上的讲法是选取第一个作为key值,然后i,j从第二个和最后一个开始,当找到a[i]>key和a[j]<key时就将他们交换,最终效果如下。但这样后面要把key值恢复到中间又得进行n/2次的搬移,感觉有些麻烦。于是发现了csdn上前辈的解法链接使用“挖坑法”+“二分法”解决,挺巧妙的,细节也处理的很好。void quickSort(int a[],int lef...

2019-04-10 11:22:08 1259

原创 c语言实现快排

c语言实现快排课本上的讲法是选取第一个作为key值,然后i,j从第二个和最后一个开始,当找到a[i]>key和a[j]<key时就将他们交换,最终效果如下。但这样后面要把key值恢复到中间又得进行n/2次的搬移,感觉有些麻烦。于是发现了csdn上前辈的解法链接使用“挖坑法”+“二分法”解决,挺巧妙的,细节也处理的很好。void quickSort(int a[],int lef...

2019-04-10 11:22:08 3325

原创 双指针找最优值

leetcode题目原题给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,...

2019-04-09 22:40:02 121

原创 c语言子函数返回字符串的正确方式

c语言子函数返回字符串的错误最近做leetcode上的一道题,通过子函数返回字符串。开始时用局部变量的字符串返回的,认为返回了字符串的首地址,便可以get到这个字符串,但由于局部变量离开函数后被回收了,因此字符串首地址是收到了,但是所在内容却被回收,因此出错。//这是出错代码#include<stdio.h>#include<stdlib.h>#include&l...

2019-04-09 22:34:46 3538

原创 由树的中序遍历栈操作写出后序遍历结果

中序遍历栈求后续遍历题目描述思考过程思路1代码1附:栈实现二叉树后序遍历思路2代码2思路3代码3题目描述PTA题目思考过程由二叉树的遍历知识知道根据中序和先序遍历可以确定后序遍历,中序和后序可以确定先序遍历,而先序和后续无法确定中序(因为先序:根左右,后序:左右根,无法分清左右子树的边界)。思路1直接由push和pop过程可以建立二叉树,然后再写后序遍历。构造树的结构:静态链表...

2019-03-30 22:10:59 1065

原创 最大回文子串问题

最大回文子串问题问题描述算法解决暴力法Manacher算法问题描述给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”维基百科解释leetcode题目算法解决暴力法使用start指针和end指针,两个fo...

2019-03-29 22:52:47 191

空空如也

空空如也

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

TA关注的人

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