sub

[算法] 刷题-无重复最长子串

你说的曾经没有我的故事 提交于 2020-04-06 02:48:11
1. 双指针滑窗 相对于暴力法,需要优化搜索空间,滑窗的目的是候选子串的长度至少不少于最长子串的长度,再通过当前子串提供的信息,进行优化 常规 思路很简单,使用beg, end两个指针记录当前位置,用is_unique 判定是否为重复子串,如果不是且长度增加则更新end+1,如果是,则滑动窗口+1 def is_unique(counts, s): counts = dict() for k, v in enumerate(s): if v in counts: return False else: counts[v] = True return True, 1 def lengthOfLongestSubString(s): if s is None: return 0 if len(s)<2: return len(s) counts = dict() beg = dict() end = 1 max_sub = '' search = 0 while end <= len(s): sub = s[beg:end] unique = is_unique(counts, sub, search) if unique and len(sub) > len(max_sub): max_sub = sub end += 1 if not unique: beg += 1 end +=

2. CMake 系列 - 编译多文件项目

依然范特西╮ 提交于 2020-04-04 17:00:45
目录 1. 编译不使用第三方库的项目 1.1 项目目录结构 1.2 相关代码 1.3 编译 2. 编译使用第三方库的项目 2.1 项目目录结构 2.2 相关代码 2.3 编译 1. 编译不使用第三方库的项目 1.1 项目目录结构 test/ ├── build ├── CMakeLists.txt └── src ├── include │ └── sub │ └── sub.h ├── init │ └── main.c └── sub └── sub.c 博主一般写项目都是以这种风格进行划分目录,这个风格也是参考内核风格。 build : 存放 cmake 生成的相关文件和make 编译生成的相关中间文件 CMakeLists.txt : 使用cmake 语法编写这个文件,cmake 负责将其转换为相对应makefile src : 存放源代码 include : 存放每个模块头文件,每个模块都有自己的目录; 1.2 相关代码 sub.h #ifndef _SUB_H #define _SUB_H int sub(const int a, const int b); #endif sub.c #include "sub/sub.h" int sub(const int a, const int b) { return a - b; } main.c #include "sub

可视继承2

旧街凉风 提交于 2020-04-04 15:19:00
“大体上是这样的,但今天我们来看一下怎么通过可视化编译环境来实现这个过程。首先,是建一个基类窗体。”大李一边说,一边打开VB.NET编译器,从菜单中选择从“文件”菜单中依次选择“新建”和“项目”,打开“新建项目”对话框。创建了一个名为 “可视继承”的 Windows 应用程序。 然后右击解决方案资源管理器中的“可视继承”项目节点并选择“属性”。在项目的属性中,将输出类型从“Windows 应用程序”更改为“类库”,然后单击“确定”。 在“工具箱”的“Windows 窗体”选项卡上将一个按钮添加到窗体中。命名为btnProtected。然后在它的“属性”窗口中,将 Text 属性设置为 “保护”,同时将 Modifiers 属性设置为 Protected。 接着大李双击 btnProtected 按钮,切换到代码窗口,书写了这样的代码: Private Sub btnProtected_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnProtected.Click MsgBox("protected的按钮") End Sub 接着切换回设计窗口,添加了第二个按钮btnPrivate,并将 Text 属性设置为 “私有”, Modifiers 属性设置为 Private。 双击

自动转发outlook的邮件

筅森魡賤 提交于 2020-04-04 09:29:35
在MSDN上查到了一些代码,稍作修改,如下所示。(当然,和Excel上使用Vba的方法差不多) Option Explicit Public WithEvents myOlItems As Outlook.Items Public Sub Application_Startup() ' Reference the items in the Inbox. Because myOlItems is declared ' "WithEvents" the ItemAdd event will fire below. Set myOlItems = Outlook.Session.GetDefaultFolder(olFolderInbox).Items End Sub Private Sub myOlItems_ItemAdd(ByVal Item As Object) Dim myForward As Outlook.MailItem If TypeName(Item) = "MailItem" Then ' Forward the item just received Set myForward = Item.Forward ' Address the message myForward.Recipients.Add ("yourname @gmail.com ") ' Send

ArcGIS制图之Sub Points点抽稀

半世苍凉 提交于 2020-04-03 01:54:42
简介 Sub Points工具是 Esri 中国自主开发的一个插件,该工具优先考虑点在空间分布上的均匀合理性,并结合点数据中包含的 "优先级" 属性进行筛选。通过获取每个点在一定范围内拥有的相邻点的数目信息,得到地图中点密度的分布状况。抽稀时在若干相临近的点中首先比较优先级,保留优先级高的;优先级相同时比较 NAME 字段,保留 NAME 长度短的;两者都相同时随机选择。使用 Sub Points 进行点抽稀的数据,必须包含"优先级"和"name"两个字段。其中优先级用来设置数据的重要性,在抽稀过程中综合考虑数据的优先级别。 修改程序 原始版本是基于10.0开发的,在10.1及以上版本需要修改两处: 一是SubPointsFunctionFactory.cs文件中CreateGPFunctionNames方法的MinimumProduct属性修改为: functionName.MinimumProduct = esriProductCode.esriProductCodeBasic; 二是SubPointsFunction.cs文件中IsLicensed()函数修改为: IAoInitialize myAoInitialize = new AoInitializeClass(); ILicenseInformation myLic = (ILicenseInformation

常用控件介绍 — TreeView和ListView(打造资源管理器)

放肆的年华 提交于 2020-04-02 20:08:00
1 ' 常用控件介绍 — TreeView和ListView 2 3 Imports System.IO 4 Public Class Form1 Class Form1 5 Inherits System.Windows.Forms.Form 6 7 Windows 窗体设计器生成的代码 #Region " Windows 窗体设计器生成的代码 " 8 9 Public Sub New() Sub New () 10 MyBase .New() 11 12 ' 该调用是 Windows 窗体设计器所必需的。 13 InitializeComponent() 14 15 ' 在 InitializeComponent() 调用之后添加任何初始化 16 17 End Sub 18 19 ' 窗体重写 dispose 以清理组件列表。 20 Protected Overloads Overrides Sub Dispose() Sub Dispose( ByVal disposing As Boolean ) 21 If disposing Then 22 If Not (components Is Nothing ) Then 23 components.Dispose() 24 End If 25 End If 26 MyBase .Dispose(disposing) 27

TSCLIB.DLL函数库使用说明

寵の児 提交于 2020-03-31 10:28:54
TSCLIB.DLL函式库使用说明方面的问题。注意:使用动态库TSCLIB.DLL前,安装TSC条码印表机驱动。 1. openport(a) 说明:指定电脑端的输出端 参数: a:单机列印时,请指定印表机驱动程式名称,例如: TSC CLEVER TTP-243 这里我是用的是GP-9025T 若连接印表机伺服器,请指定伺服器路径及共用印表机名称,例如: \\SERVER\TTP243 2. closeport() 说明:关闭指定的电脑端输出埠 参数:无 3. setup(a,b,c,d,e,f,g) 说明:设定标签的宽度、高度、列印速度、列印浓度、感应器类别、gap/black mark垂直间距、gap/black mark偏移距离) 参数: a:字串型别,设定标签宽度,单位mm b:字串型别,设定标签高度,单位mm c:字串型别,设定列印速度,(列印速度随机型不同而有不同的选项) 1.0:每秒1.0吋列印速度 1.5:每秒1.5吋列印速度 2.0:每秒2.0吋列印速度 3.0:每秒3.0吋列印速度 4.0:每秒4.0吋列印速度 5.0:每秒5.0吋列印速度 6.0:每秒6.0吋列印速度 d:字串型别,设定列印浓度, 0~15,数字愈大列印结果愈黑 e:字串型别,设定使用感应器类别 0表示使用垂直间距感测器(gap sensor) 1表示使用黑标感测器(black mark

Visual Studio宏注释模板

六月ゝ 毕业季﹏ 提交于 2020-03-29 17:07:26
前言 有时写代码需要写注释的时候 甚是苦恼 写吧 怕麻烦 不写吧 似乎这代码估计自己都看不懂 权衡之下 似乎找一个自动写注释的方法最靠谱 一直在VS下开发 偶尔听人说过有一个宏工具可以帮助开发者快速注释 但是寻匿了很久 硬是木有找到 后来才发现 原来自VS2012以来,这个宏工具去掉了 但是我使用的编译器恰恰是VS2012和VS2013 所以... 最近换了个电脑, 直接装个VS2010 今天又是周末 于是就倒腾这个宏工具来着的 虽然没学过VB 但是有强大的网络在+搜素引擎 于是乎 便有了这个模板 模板代码如下: Imports System Imports EnvDTE Imports EnvDTE80 Imports EnvDTE90 Imports EnvDTE90a Imports EnvDTE100 Imports System.Diagnostics Imports System.Text Imports System.Text.RegularExpressions Imports System.IO Imports System.Collections.Specialized Public Module MyAutoCommemt '这里要与保存的Module文件名保持一致,不然无法调用宏 Function AlignTitle(ByVal title As

vba工程密码清除

社会主义新天地 提交于 2020-03-29 06:59:30
EXCEL vba工程密码破解 方法一: 这种方法实际是避开VBA工程密码验证,即骗vba编辑器,该密码输入成功,请求放行。 不管他是破解还是欺骗 能达到我们的目的角开就行 ______________________________________________________ 1.新建一个工作簿,打开,按ALT+F11,进入vba代码编辑器窗口: 2.新建一个模块,“插入”--“模块”把以下代码复制进模块并保存 ption Explicit Private Declare Sub MoveMemory Lib "kernel32" Alias "RtlMoveMemory" _ (Destination As Long, Source As Long, ByVal Length As Long) Private Declare Function VirtualProtect Lib "kernel32" (lpAddress As Long, _ ByVal dwSize As Long, ByVal flNewProtect As Long, lpflOldProtect As Long) As Long Private Declare Function GetModuleHandleA Lib "kernel32" (ByVal lpModuleName As

帮朋友做的vb.net的代码

℡╲_俬逩灬. 提交于 2020-03-29 06:54:41
1 Public Class Form1 Class Form1 2 Dim gfxobj As System.Drawing.Graphics 3 Dim count As Integer 4 Private Sub Form1_Load() Sub Form1_Load( ByVal sender As System.Object, ByVal e As System.EventArgs) _ 5 Handles MyBase .Load 6 gfxobj = pnlDraw.CreateGraphics() 7 Timer1.Enabled = False 8 lblSpeed.Text = " Current Fill Speed = " & trbSpeed.Value & " ms " 9 count = 0 10 End Sub 11 Private Sub Form1_Resize() Sub Form1_Resize( ByVal sender As Object , ByVal e As System.EventArgs) Handles MyBase .Resize 12 If Not gfxobj Is Nothing Then 13 gfxobj.Dispose() 14 End If 15 gfxobj = pnlDraw.CreateGraphics(