mu

434. 字符串中的单词数

岁酱吖の 提交于 2020-04-12 11:47:42
统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。 请注意,你可以假定字符串里不包括任何不可打印的字符。 示例: 输入: "Hello, my name is John" 输出: 5 思路详见注释。 1 class Solution(object): 2 def countSegments(self, s): 3 """ 4 :type s: str 5 :rtype: int 6 """ 7 if len(s.split()) == 0: 8 return 0 9 # 设置计数器,初始值为1 10 index = 0 11 # 遍历字符串,如果当前遇到的字符是字母前一个字符是空格时,计数器增1 12 # 当然,字符串第一个字符单独考虑 13 for i in range(len(s)): 14 if (i == 0 or s[i - 1] == ' ' ) and s[i].isalnum(): 15 index += 1 16 return index 17 18 def countSegments2(self, s): 19 """ 20 :type s: str 21 :rtype: int 22 """ 23 # 设置计数器,初始值为1 24 index = 1 25 # 遍历字符串,如果当前遇到的字符不是字母,那么在遇到下一个字母时,计数器增1 26 for

434. 字符串中的单词数

纵饮孤独 提交于 2020-04-12 11:23:48
统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符。 请注意,你可以假定字符串里不包括任何不可打印的字符。 示例: 输入: "Hello, my name is John" 输出: 5 思路详见注释。 1 class Solution(object): 2 def countSegments(self, s): 3 """ 4 :type s: str 5 :rtype: int 6 """ 7 if len(s.split()) == 0: 8 return 0 9 # 设置计数器,初始值为1 10 index = 0 11 # 遍历字符串,如果当前遇到的字符是字母前一个字符是空格时,计数器增1 12 # 当然,字符串第一个字符单独考虑 13 for i in range(len(s)): 14 if (i == 0 or s[i - 1] == ' ' ) and s[i].isalnum(): 15 index += 1 16 return index 17 18 def countSegments2(self, s): 19 """ 20 :type s: str 21 :rtype: int 22 """ 23 # 设置计数器,初始值为1 24 index = 1 25 # 遍历字符串,如果当前遇到的字符不是字母,那么在遇到下一个字母时,计数器增1 26 for

7种攻击方法最常见!警惕黑客利用新型冠状病毒作案

感情迁移 提交于 2020-04-11 12:05:36
世卫称新冠病亡率比流感高10倍,近日,网络安全人员以警告威胁行为者如何利用持续进行的冠状病毒大流行来试图感染恶意软件或欺诈您的计算机和移动设备。 不幸的是,在一定程度上它正在起作用,这是因为攻击面正在迅速变化和扩展,因为许多组织和业务任务在没有大量准备的情况下就进行了数字化处理,使自己面临更多潜在威胁。 最近的大多数网络黑客攻击主要是利用因虚假信息和虚假新闻而加剧的对COVID-19爆发的恐惧,通过Google Play应用,恶意链接和附件分发恶意软件,并执行勒索软件攻击。 在这里,我们了解了数字空间中各种看不见的威胁,这些威胁由冠状病毒为主题的诱饵驱动,网络罪犯正在利用这些诱饵来从事间谍活动和商业牟利。 最新发展使针对医院和测试中心的网络攻击以及旨在从全球健康问题中获利的网络钓鱼活动增加了一长串。 冠状病毒为主题的数字威胁 微软Microsoft 365安全公司副总裁Rob Lefferts 说:“世界上每个国家都至少发生过一次以COVID-19为主题的攻击。但是,这些攻击仅占Microsoft每天分析的所有攻击的不到2%。 Lefferts补充说:“我们的数据表明,这些以COVID-19为主题的威胁是对现有攻击的重读,这些攻击已进行了稍微更改以与这种大流行相关。” “这意味着我们正在看到诱饵的变化,而不是攻击的激增。” 1、移动恶意软件 Check Point Research

BatchNorm在NLP任务中的问题与改进

柔情痞子 提交于 2020-04-10 07:33:27
众所周知,无论在CV还是NLP中,深度模型都离不开归一化技术(Normalization)。在CV中,深度网络中一般会嵌入批归一化(BatchNorm,BN)单元,比如ResNet;而NLP中,则往往向深度网络中插入层归一化(LayerNorm,LN)单元,比如Transformer。 为什么在归一化问题上会有分歧呢?一个最直接的理由就是, BN用在NLP任务里实在太差了(相比LN) ,此外, BN还难以直接用在RNN中[1] ,而RNN是前一个NLP时代的最流行模型。 虽然有大量的实验观测,表明NLP任务里普遍BN比LN差太多,但是迄今为止,依然没有一个非常严谨的理论来证明LN相比BN在NLP任务里的优越性。甚至,连BN自身为什么work的问题都一直存在争议。 早期对BN有效性的解释是其有助于缓解神经网络“ 内部协方差漂移 ”(Internal Covariance Shift,ICS)问题。即,后面的层的学习是基于前面层的分布来的,只有前面一层的分布是确定的,后面的层才容易学习到有效的模式,然而,由于前面的层的分布会随着batch的变化而有所变动,导致了后面的层看来“前面一直在动,我无法安心学习呀”。 而BatchNorm这类归一化技术, 目的就是让每一层的分布稳定下来 ,让后面的层可以在前面层的基础上安心学习知识。顾名思义,BatchNorm就是通过对batch

Tensorflow 运行警告提示 Your CPU supports instructions that this TensorFlow binary was not compiled to use

放肆的年华 提交于 2020-04-09 05:35:28
由于现在神经网络这个东西比较火,准确的说是深度学习这个东西比较火,我们实验室准备靠这个东西发几个CCF A类的文章,虽然我不太懂这东西,兴趣也一般都是毕竟要跟随主流的,于是今天安装起了 Tensorflow 这个深度学习的框架。 安装好以后运行一个Demo ,如下: import tensorflow as tf a =tf.constant(2 ) b =tf.constant(20 ) with tf.Session() as sess: print (sess.run(a*b)) 运行结果如下: 2018-05-03 19:57:44.151803: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA 2018-05-03 19:57:44.251905: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:892] successful NUMA node read from SysFS had negative value (-1), but

数据结构与算法——从零开始学习(四)字符串和数组

五迷三道 提交于 2020-04-09 03:59:02
系列文章 第一章:基础知识 第二章:线性表 第三章:栈和队列 第四章:字符串和数组 第五章:树和二叉树 第六章:图 第四章:字符串和数组 第一节 :串 1.1 串的基本概念 1.2 串的基本运算 1.3 串的存储结构 第二节: 数组 2.1 数组的逻辑结构和基本操作 2.2 数组的存储结构 2.3 稀疏矩阵 本章总结 第四章:字符串和数组 字符串简称串,是一种特殊的线性表,其特殊性在于数据元素仅由一个个字符组成。作为一种基本数据类型,字符在计算机信息处理中意义非同一般,计算机非数值处理的对象经常是字符串数据。另外,串还具有自身的特性,常常把一个串作为一个整体来处理,因此,把串作为独立结构的概念加以研究是非常有必要的。本章简单介绍了串的存储结构及基本运算。 数组可视为线性表的推广,其特点是表中数据元素仍然是一个表。从本质上看,维数大于1的数组中数据元素之间不再是简单的一对一关系,因此,严格地说多维数组是非线性的。然而,由于数组中数据元素类型的一致性和其内部结构上的同一性,在实际处理数组时可以借助线性表的方法来实现数组及其运算。本章将会介绍数组的逻辑结构和存储结构、稀疏矩阵及其压缩存储等内容。 第一节 :串 1.1 串的基本概念 串(String)是由零个或多个任意字符串组成的字符序列。记做:s ="a1a2··an",其中,s是串名。a1(1<=i <=n)是一个任意字符

最大似然估计-高斯分布

佐手、 提交于 2020-04-08 22:34:53
前言:介绍了最简单的 最大似然估计 ,距离实现「朴素贝叶斯」还有一些距离。在这篇文章,我想分享一下,我所理解的「最大似然估计 - 高斯分布」。 问题 (这里都是玩具数据,为了方便理解才列出) 0 1 2 3 4 5 6 7 8 9 10 11 12 X 1 2 3 4 4.2 4.4 4.6 4.8 5 6 7 8 y 0 0 0 0 1 1 1 1 0 0 0 0 假设 x = 4.9 用科学的办法估计 y 的分类。 预备知识 高斯分布的概率密度函数 高斯分布的概率密度函数 理解 通常用「概率密度函数」代替概率,仅仅去比较大小。还有其他的分布,我也没有去深挖 :)。而不是直接求出概率。这非常重要!!! 求解问题 写出这个数据集的似然函数 还记得之前我们说过的「似然函数」吗?现在写出这个数据的「似然函数」 P(y=0 | x) = P(y=0 | x=1)P(y=0 | x=2)P(y=0 | x=3)P(y=0 | x=4)P(y=0 | x=5)P(y=0 | x=6)P(y=0 | x=7)P(y=0 | x=8) P(y=1 | x) = P(y=1 | x=4.2)P(y=0 | x=4.4)P(y=0 | x=4.6)P(y=0 | x=4.8) 似然函数的本质 描述出现这个情形的概率,最大化它即是是这个情形出现的概率最大。现在遇到了一个问题

【cs224w】Lecture 3

拜拜、爱过 提交于 2020-04-08 20:33:50
目录 Network Motifs Configuration Model Graphlets How to Find Motifs and Graphlets Structural Roles 转自本人: https://blog.csdn.net/New2World/article/details/105291956 大量真实网络都有一个规律,即这些网络都是由一些 building block 构成,类似 Kronecker 图有大量的重复结构。而我们需要一种度量方式来衡量某个结构在图中的显著性。因此需要引入 motif 和 graphlet 这两个概念。 这一部分我还有一些概念没完全理解,所以在最后记录了一些问题等待以后回来解决。也欢迎有理解了的朋友帮忙解惑。 Network Motifs 这里实在无法确定 motif 的准确翻译是什么,干脆不翻译了。但它是什么东西还是得搞清楚的:在图中大量重复的模式被称为 motif。这个定义包含了三个要点 大量,就是多,比随机图多 重复,还是多 模式,即规模小的导出图 [1] 我们为什么需要这个 motif ?首先,既然这个概念的定义表明它在网络中大量存在,说明这个 motif 揭示了这个网络的一些普遍规律,比如食物链中的互利共生关系或竞争关系。同时我们可以依据这个规律预测一些我们可能还没有发现的网络中隐含的关系。 知道了 motif

【cs224w】Lecture 4

本小妞迷上赌 提交于 2020-04-08 20:33:11
Community 转自本人: https://blog.csdn.net/New2World/article/details/105328390 之前讲到了网络中节点扮演不同角色,而角色这个概念和社区互补,那么接下来就讨论下社区这个概念。 以找工作为例,曾经学者 Granovetter 调查过人们的工作是由谁介绍的,结果很意外。大部分人的工作是由“熟人”,或者说关系并不是很密切的人介绍的。然后 Granovetter 分析后提出了他的解释:这种“熟人”可能涉及整个社交网络很广泛的区域 (普遍来说通过 \(6.6\) 个人就能认识全世界任何人)。这样一来他们很可能覆盖了很多行业,其中一个就是你的专业。然后将这个解释整理一下就得到了如下两个方面的结论: 结构上连接紧密的边的社会性更强;跨度大的边连接了网络不同的两个或多个领域反而社会性不稳定 从信息传播的角度来看,跨度大的边能传递不同领域的信息,在找工作方面更有利;而结构上连接密的边过于冗余因此无法提供新的信息 Granovetter 的这个理论在后来电话网络中得到了印证,即连接更强的边一般都有更频繁的电话联络。这里提到一个 edge overlap 需要记录一下,它衡量了两个点间连接的紧密程度。当某条边是 local bridge 时,重叠率为 \(0\) 。 \[O_{ij}=\frac{|(N(i)\cap N(j))\text

JVM调优实战分析

|▌冷眼眸甩不掉的悲伤 提交于 2020-04-06 18:14:42
一、查看服务器项目JVM参数以及参数分析 1、jps 命令 : 列出系统中所有的 Java 应用程序以及PID 如下图所示,26647就是我部署在服务器的一个小项目的 PID 2、jmap命令:查看堆的使用情况 如下所示,数据为未调整的默认值 [root@VM_49_159_centos ~]# jmap -heap 26647 Attaching to process ID 26647, please wait... Debugger attached successfully. Server compiler detected. JVM version is 25.162-b12 using thread-local object allocation. Mark Sweep Compact GC Heap Configuration: (堆的结构配置) MinHeapFreeRatio = 40 ( 空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制. ) MaxHeapFreeRatio = 70 ( 空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制. ) MaxHeapSize = 482344960 (460.0MB) (堆的最大值) NewSize = 10485760 (10.0MB) (初始年轻代大小) MaxNewSize =