关于bat:bat-批处理脚本-一键开启和关闭-Windows-系统代理

开启代理(将脚本中的 IP:PORT 换成代理服务器的地址和端口): @echo off echo 开始开启零碎代理,请稍候...echo=reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f >nul 2>nulreg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /d "IP:PORT" /f >nul 2>nulecho 零碎代理已开启,请按任意键敞开本窗口...pause>nul敞开代理: @echo off echo 正在关闭系统代理,请稍候...echo=reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 0 /f >nul 2>nulreg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /d "" /f >nul 2>nulecho 零碎代理已敞开,请按任意键退出本窗口...pause>nul依据以后配置主动开启或敞开代理(将脚本中的 IP:PORT 换成代理服务器的地址和端口): @echo offfor /f "tokens=1,2,* " %%i in ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable ^| find /i "ProxyEnable"') do (set /A ProxyEnableValue=%%k)if %ProxyEnableValue% equ 0 ( echo 零碎代理目前处于敞开状态,正在开启代理,请稍候... echo= reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f >nul 2>nul reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /d "IP:PORT" /f >nul 2>nul echo 零碎代理已开启,请按任意键敞开本窗口...) else if %ProxyEnableValue% equ 1 ( echo 零碎代理目前处于开启状态,正在敞开代理,请稍候... echo= reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 0 /f >nul 2>nul reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /d "" /f >nul 2>nul echo 零碎代理已敞开,请按任意键退出本窗口...)pause>nul为了更加不便开启/敞开代理,能够给它设置个快捷键!首先将 bat 脚本文件发送一个快捷方式到桌面(也不便从桌面双击运行),右键【属性】-【快捷方式】-【快捷键】,给它设置一个你本人习惯的快捷键即可。如下图所示: ...

July 14, 2022 · 1 min · jiezi

关于bat:bat脚本一键配置java开发环境

背景在新电脑配置或者新人入职时须要对java开发相干环境进行配置装置,但时常会因为装置配置不到位或者操作谬误导致工夫的节约,所以在空余工夫收集了一系列软件的免装置版本,并且编写了相干配置脚本,让环境装置变得标准化。 概览安装包目录如下如所示 BaseEnv蕴含jdk(1.8),maven(3.2.5) ProgramEnv蕴含idea(2019.2) SoftEnv蕴含mysql(5.7),navicat(15),redis,redismanage(1.5.8) remark为装置总阐明 setting.bat脚本配置环境变量 mysql.bat脚本装置mysql服务 redis.bat脚本装置redis服务 icon脚本在桌面创立软件快捷方式 上述软件能够根本满足日常java开发的环境要求 安装包分享地址:https://yunpan.360.cn/surl_yk... (提取码:8079) 环境变量脚本环境变量脚本能够通过wmic ENVIRONMENT语句进行删除从新从新创立,Path变量的变更能够通过get VariableValue|findstr /i语句进行判断是否存在,bat脚本能够获取以后门路动静的去进行配置,免去了手动 输出的繁琐步骤,脚本如下 @echo offcolor 02:step1cd /d %~dp0set currentPath=%PATH%set currentDir=%cd%set javaPath=%currentDir%\BaseEnv\jdkset mavenPath=%currentDir%\BaseEnv\mavenset mysqlPath=%currentDir%\SoftEnv\mysqlset redisPath=%currentDir%\SoftEnv\redis:step2wmic ENVIRONMENT where "name='JAVA_HOME'" deletewmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="%javaPath%"wmic ENVIRONMENT where "name='MAVEN_HOME'" deletewmic ENVIRONMENT create name="MAVEN_HOME",username="<system>",VariableValue="%mavenPath%"wmic ENVIRONMENT where "name='CLASSPATH'" deletewmic ENVIRONMENT create name="CLASSPATH",username="<system>",VariableValue=".;%%JAVA_HOME%%\lib\toos.jar;%%JAVA_HOME%%\lib\dt.jar"wmic ENVIRONMENT where "name='MYSQL_HOME'" deletewmic ENVIRONMENT create name="MYSQL_HOME",username="<system>",VariableValue="%mysqlPath%"wmic ENVIRONMENT where "name='REDIS_HOME'" deletewmic ENVIRONMENT create name="REDIS_HOME",username="<system>",VariableValue="%redisPath%"echo.goto step3:step3wmic ENVIRONMENT where "name='Path'" get VariableValue|findstr /i /c:"%%JAVA_HOME%%\bin">nul&&(goto step5) echo PATH环境变量中未增加: %%JAVA_HOME%%\bin wmic ENVIRONMENT where "name='Path' and username='<system>'" set VariableValue="%currentPATH%;%%JAVA_HOME%%\bin"set currentPATH=%currentPATH%;%%JAVA_HOME%%\binecho.:step5echo JAVA_HOME PATH中已增加wmic ENVIRONMENT where "name='Path'" get VariableValue|findstr /i /c:"%%MAVEN_HOME%%\bin">nul&&(goto step6) echo PATH环境变量中未增加: %%MAVEN_HOME%%\bin wmic ENVIRONMENT where "name='Path' and username='<system>'" set VariableValue="%currentPATH%;%%MAVEN_HOME%%\bin"set currentPATH=%currentPATH%;%%MAVEN_HOME%%\binecho.:step6echo MYSQL_HOME PATH中已增加wmic ENVIRONMENT where "name='Path'" get VariableValue|findstr /i /c:"%%MYSQL_HOME%%\bin">nul&&(goto step7) echo PATH环境变量中未增加: %%MYSQL_HOME%%\bin wmic ENVIRONMENT where "name='Path' and username='<system>'" set VariableValue="%currentPATH%;%%MYSQL_HOME%%\bin"set currentPATH=%currentPATH%;%%MYSQL_HOME%%\binecho.:step7echo MYSQL PATH中已增加wmic ENVIRONMENT where "name='Path'" get VariableValue|findstr /i /c:"%%REDIS_HOME%%">nul&&(goto step8) echo PATH环境变量中未增加: %%REDIS_HOME%%wmic ENVIRONMENT where "name='Path' and username='<system>'" set VariableValue="%currentPATH%;%%REDIS_HOME%%"echo.:step8echo REDIS PATH中已增加pause服务装置脚本redis通过--service-install语句进行windows服务的装置 ...

December 19, 2021 · 2 min · jiezi

关于bat:Windows自动使用管理员权限运行bat批处理手动选择启停服务

@echo off&(cd/d "%~dp0")&(fltmc>nul)||(start "" mshta vbscript:CreateObject^("Shell.Application"^).ShellExecute^("%~snx0"," %*","","runas",1^)^(window.close^)&exit /b):: echo 以后以管理员权限运行:loopecho 启停AWVS服务echo 1.启动AWVS服务echo 2.进行AWVS服务echo 3.退出echo.set /p a=输出序号:if %a%==1 goto 启动if %a%==2 goto 进行if %a%==3 exit:启动net start acunetixgoto loop:进行net stop acunetixgoto loop

November 24, 2021 · 1 min · jiezi

关于bat:BAT脚本03-组合命令-管道命令

组合命令组合命令 & 、&& 和 || 是一类用于两个或多个命令语句之间起连接作用的符号。这对于咱们想一次性执行两条或多条命令,以及后面命令执行后果的胜利与否作为前面命令是否被执行的衡量标准,起着决定性的作用。 &通过紧随的例子,echo Checking what executable files we have in WINDOWS... & dir C:\WINDOWS*.exe & echo And we got lots of stuff here. 咱们不难理解 & 在多个命令之间所起的连贯作用。事实上,咱们齐全能够将这三者分成3行来独立执行,因为它们之间是互相独立的关系。不管三者中每一条命令的后果如何,前面的一条命令总能被失去执行(这是与下文 && 和 || 的不同之处)。 &&&& 作为组合命令之一,与 & 相似,也有着并列多条命令并将其按程序执行的性能。与 & 的不同之处,兴许此时您曾经猜到了,没错,如果多命令中的某一条命令执行出错时,前面的所有命令将不会再被执行;如果始终没有出错则会始终执行完所有的并列命令。为了很好的比照它们之间的区别,咱们别离尝试一下上面的两个例子。 echo Checking if we have the following directory... & dir "E:\starcraft II" & echo Seems it does not exist. echo Checking if we have the following directory... && dir "E:\starcraft II" && echo Seems it does not exist. 它们的区别是高深莫测的,前者会有 Seems its not exist. 的输入,而后者却没有。 ...

October 29, 2021 · 2 min · jiezi

关于bat:BAT脚本02-条件-循环

条件语句仅if状况if "%choice%"=="R" color c字符相干判断if "%TIME:~0,2%" lss "12" ( echo 当初是上午 ) else ( echo 当初是下午 ) 数值相干判断set /a num=5 if %num% equ 5 ( echo 变量 num 等于 5 ) if not %num% equ 4 ( echo 变量 num 不等于 4 ) 以下数值/字符均可应用:== - 等于EQU - 等于NEQ - 不等于LSS - ⼩于LEQ - ⼩于或等于GTR - ⼤于GEQ - ⼤于或等于 否定NOTif not %num% == 4 ( echo 变量 num 不等于 4 ) 存在existif exist "D:\test my folder\a.txt" ( del "D:\test my folder\a.txt" ) else ( echo 您所要删除的文件不存在 ) 变量定义defined对于 if defined 来说,与 if exist 相似,只不过 if defined 的判断对象不是文件,而是变量,它用于判断环境变量是否被定义。 ...

October 29, 2021 · 2 min · jiezi

关于bat:批处理脚本实现文件自动清理

依照文件的最新批改日期工夫进行删除@REM @Author: chasi@REM @Date: 2020-11-09 14:49:16@REM @Last Modified by: chasi@REM Modified time: 2020-11-10 09:14:16@echo offtitle 清理Tomcat日志文件set log_dir="D:\apache-tomcat-8.5.27\logs"set bak_dat=10forfiles /p %log_dir% /S /M *.log /D -%bak_dat% /C "cmd /c echo 正在删除@relpath 文件… & echo. & del @file"forfiles /p %log_dir% /S /M *.txt /D -%bak_dat% /C "cmd /c echo 正在删除@relpath 文件… & echo. & del @file"依照文件中蕴含的日期格局间隔以后工夫的距离天数进行删除@REM @Author: chasi@REM @Date: 2020-11-09 15:39:53@REM @Last Modified by: chasi@REM Modified time: 2020-11-25 16:56:35@echo offrem 应用绝对路径,Tomcat目录下寄存日志的具体门路(以理论装置门路为准)set SrcDir="D:\apache-tomcat-8.5.27\logs"rem 指定日志保留天数set DaysAgo=10::计算距离天数>"%temp%/DstDate.vbs" echo LastDate=date()-%DaysAgo%>>"%temp%/DstDate.vbs" echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2)>>"%temp%/DstDate.vbs" echo wscript.echo FmtDatefor /f %%a in ('cscript /nologo "%temp%/DstDate.vbs"') do ( set "DstDate=%%a")::设置日期格局set DstDate=%DstDate:~0,4%-%DstDate:~4,2%-%DstDate:~6,2%::开启变量提早setlocal enabledelayedexpansionset indexofstr=0::查找含有指定日期格局字符串的文件for /r "%SrcDir%" %%a in (*.*) do ( set "FileDate=%%~na" ::echo indexofstr:!indexofstr! call:IndexOfStrFunc "%%~na",indexofstr ::echo indexofstr:!indexofstr! set indexofstr=!indexofstr! ::echo %indexofstr% call set FileDate=%%FileDate:~!indexofstr!,10%% if "!FileDate!" leq "%DstDate%" ( if exist "%%a" ( ::echo del /f /q "%%a" del /f /q "%%a" ) ))::敞开变量提早endlocal::echo 输入结束,按任意键退出&&pause>nul&&exit:IndexOfStrFunc::IndexOfStrFunc函数:查找字符串内第一个字符为2-3的索引地位set str1=%~1set str=%str1%set num=0:nextset ch1=2if not "%str%"=="" (set /a num+=1::循环局部:loopif not "%ch1%" == "3" ( if "!str:~0,1!"=="%ch1%" goto last set /a ch1=ch1+1 goto loop)set "str=%str:~1%"goto next)set /a num=0:last::echo 字符'%ch1%'在字符串"%str1%"中的首次呈现地位为%num%set next=1set /a indexofstr=%num%-%next%goto:eofPS:windows端增加定时工作脚本,运行cmd,输出compmgmt.msc后依照定时工作的增加步骤要求进行填写。

August 6, 2021 · 1 min · jiezi

关于bat:用bat命令修改注册表为随机值实现某软件无限试用

起因试用某软件时发现,间接批改注册注册表就变成了新用户,一次次手动改太麻烦,所以学一学批处理。 指标性能一键批改注册表一键重启EXE批改内容为指定长度指定范畴内随机字符串源码:: 敞开回显@echo off :: 开启变量提早,这里是为了在变量中援用变量即!%str%!setlocal enabledelayedexpansion::配置指标字符串长度及取值范畴set len=76set allstr=ABCDEF0123456789:: 取字库长度(本人数了填上面也能够,这里纯正是为了涨姿态)set num=0set str=%allstr%:labelset /a num+=1set str=%str:~0,-1%if defined str goto :labelecho 字符串长度:%num%:: 循环len次调用generate办法,每次返回一个随机字符for /l %%a in (1,1,%len%) do @call :generate "%%a":: 生成指标字符串后输入echo %random_str%:: 批改注册表,省略/t REG_SZ,因为默认就是字符串(REG_SZ)reg add HKEY_CURRENT_USER\SOFTWARE\ant /v Id /d %random_str% /f:: 重启EXEtaskkill /f /t /im ant.exestart D:\ant_1.3.4\ant_1.3.4\ant.exe:: 运行完结,不让窗口敞开pause::取随机字符串并拼接办法:generateif "%~1"=="" goto:eofset /a r=%random%%%%num%set random_str=%random_str%!allstr:~%r%,1!

May 21, 2021 · 1 min · jiezi

阿里架构师推荐给程序猿们的15款常用开发工具

从人工到自动化,从重复到创新,技术演进的历程中,伴随着开发者工具类产品的发展。 阿里巴巴将自身在各类业务场景下的技术积淀,通过开源、云上实现或工具等形式对外开放,本文将精选了一些阿里巴巴的开发者工具,希望能帮助开发者们提高开发效率、更优雅的写代码。 由于开发者涉及的技术领域众多,笔者仅从自己的视角盘点平时可能用得到的工具。每个工具按照以下几点进行介绍: 工具名称和简介使用场景使用教程获取方式一、Java 线上诊断工具 ArthasArthas 阿里巴巴2018年9月开源的一款Java线上诊断工具。 工具的使用场景: 1、这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception? 2、我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 3、遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? 4、线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! 5、是否有一个全局视角来查看系统的运行状况? 6、有什么办法可以监控到JVM的实时运行状态? Arthas支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。 使用教程:基础教程: https://alibaba.github.io/art... 进阶教程: https://alibaba.github.io/art... 获取方式:(免费)开源地址: https://github.com/alibaba/ar... 二、IDE 插件 Cloud ToolkitCloud Toolkit 是一款 IDE 插件,可以帮助开发者更高效地开发、测试、诊断并部署应用。通过 Cloud Toolkit,开发者能够方便地将本地应用一键部署到任意机器(本地或云端),并内置 Arthas 诊断、高效执行终端命令和 SQL 等,提供 IntelliJ IDEA 版,Eclipse 版,PyCharm 版和 Maven 版。 工具的使用场景: 1、每次修改完代码后,是否正在经历反复地打包? 2、在 Maven 、Git 以及其他运维脚本和工具的之间频繁切换? 3、采用 SCP 工具上传?使用XShell或SecureCRT登陆服务器?替换部署包?重启? 4、文件上传到服务器指定目录,在各种 FTP、SCP 工具之间频繁切换 ? 使用教程: IntelliJ IDEA版: https://help.aliyun.com/docum... Eclipse 版: ...

October 15, 2019 · 2 min · jiezi

那些有实力进入-BAT-的本科生都做对了什么事

作者:黄小斜 文章来源:微信公众号【黄小斜】 最近这段时间,我们部门来了几个年纪轻轻的本科生,最小的比我们小五岁左,这对于我来说还是比较有冲击力的。 想想我也是九0出头的老腊肉了,想当年我上大学的时候,除了整天打游戏,好像什么事情也没有干成。 总算是在大学最后那段时间想通了,考上了个研究生,考完研之后我全力备战互联网公司的招聘,最终也如愿以偿进入阿里,其实 BAT 里的大部分校招员工都是研究生,那今天我们就来说说,什么样的本科生才可以进入 BAT ? 大家都知道,BAT 在目前可以代表着中国互联网公司的最高水平,至少在技术方面是可以代表其最高水平的,本科生如果想要进入这样的公司工作,就必须要在大学期间做好充足的准备。 不过有一点要说明一下,最近来两位实习生,他们都是来自 985 学校的本科生。 学历固然重要,但其实学历更彰显了他们的学习能力,这位师弟告诉我,他从今年的一月份开始准备实习生招聘,准备了不到两个月的时间,就成功拿到了阿里的实习offer。 我当时很惊讶,觉得他的学习能力应该是非常强,他在大一大二主要学习的也是专业课程,当然了,他是科班出身的学生,学的是软件工程。 在课程方面,相信他学的是比较好的,除此之外,他自己也利用业余的时间自学了 Java,这期间他也接触了其他很多方向,包括游戏开发以及机器学习、数据开发等等方向。 其实这个经历跟我那时候还是挺像的,毕竟大家都会有一段迷茫的阶段,不知道自己该选择什么样的方向,更不知道将来将要为哪一份工作去努力拼搏。 他在大三的寒假就已经想明白了这个道理,他确定了自己做 java研发的方向,并且开始努力的准备实习生招聘。 当然,校园招聘对本科生和硕士生的要求还是会有稍稍的不同的,虽然说差距并不很大,因为其实主要考察的还是你的技术能力,也就是基础知识。 我在读研的那段时间基本上就是从零开始学 Java 的,学的也快一两年的时间了,如果你是科班出身的学生,你在本科阶段,也可以花了一两年的时间去学习,可能效果会比我自己学更加好,然后再花上几个月的时间去复习,准备招聘,所以以985学生的学习能力来说,我想这也不是什么难事。 从这位师弟的身上,我可以看到很多闪光点,他非常的自信,阳光,并且知道自己在干什么,能够很及时的去请教别人,然后得到反馈,也是做成一件件工作,在这方面我觉得我还可以向他学习。 本科生可以通过自己的实力进BAT,其实是非常厉害的,像我们这些读完研再出来的学生,真的觉得自己的竞争力有点不足了,毕竟现在这个年代,年轻就是资本,特别是对于程序员这一行当,你老了,你的最核心竞争力这会儿逐渐下降,从而被年轻人给取代。 所以说本科生想要进 BAT,首先你的技术要比较扎实,最好你还要来自于比较好的学校,这样子可以证明你的一个学习能力是没有问题的,除此之外,你最好有一些项目或者实习经历能够证明你的实践能力,最后,你需要有一份非常好的简历,能够在面试中表现出色。 说到底,这仍然是一个需要我们去实践的一个过程。而研究生阶段,如果你想进 BAT,其实难度会低不少,这也是为什么 BAT 很多校的生都是研究生的原因,因为你有更多的时间是积累,你比本科生有更多的时间去自学一些东西,去准备校园招聘。 当然了,这些这些所谓的经验,这些所谓的学历上的提升,代价就是你花费了更多的时间,你付出了三年的时间去,去做那些别人可能,并不太在意的事情。 而当你到公司成长三年之后,你可能,可以得到更大的提升。不过这也是因人而异了,可能读研的效果在长期看来可能更加的好,但是在短期看来,工作三年,比读研三年要好得多。 不过对我来说,读研是非常宝贵的一段经历,因为我是非科班的学生,没有研究生这段经历,我是不可能进 BAT 的,这辈子都没有机会进BAT的。 因为读完研,我的眼界提高了,不只是一个档次,就感觉身边的人都非常优秀,你自己也会强迫自己变得优秀,所以读研对我来说是一个人生的转折点吧。 可能对那些本科时期就很优秀的人来说,他们可能会不理解,为什么你需要读研呢?我明明我们本科阶段也可以做的很好,也可以去 BAT。 其实这就是每个人人生轨迹的不同,因为我没有办法在本科生就达到他们这样的高度,所以我必须使用读研这个方式去改变我自己,说的有点远了,接下来我们来谈谈。时间成本这件事情。 读研是需要时间成本的,一般是两到三年,等你带来的是一份学历,以及两年的积累经验的时间,当然你也可以用这段时间来做很多事别的事情,而工作两到三年,可以让你更早的进入社会,更早地make money。 虽然这在长期看来,并不会影响你整个人生的脉络,因为你人生可能有二三十年都要花在工作上,这两到三年的领先并不会让你有多大的领先优势,但是也足以让你有一个非常好的一个开始。 所以本科生能进 BAT 的人,并不一定要读研,反之,你可能需要花更多时间去积累,去为自己荒废的本科生活买单。

July 11, 2019 · 1 min · jiezi

后端相关技能七脚本

批处理基本语法# 关闭单行回显@# 关闭命令回显(从下一行开始)echo off# 注释:: # 注释rem# 暂停pause# 重定向输出>>>

April 27, 2019 · 1 min · jiezi

【LeetCode】贪心算法--买卖股票的最佳时机 II(122)

一、写在前面为什么要在LeetCode刷题?大家都知道不管是校招还是社招算法题是必考题,而这一部分恰巧是大多数人的短板,所以刷题首先是为了提高自身的编程能力,能够在算法面试中脱颖而出,拿到满意的offer。自己是打算考研的,计算机考研数据结构也是必考题,所以刷题的第二个原因就是为了巩固自己的数据结构知识。应该如何刷题呢?这两个月自己是顺序刷题的,但是总结的时候发现知识点太零散,前二十题有栈,链表,数组等等,自己总结的时候没有形成一个完整的体系,也没有清晰的分类,这不是自己想要的,所以自己后期刷题将采用专题的方式,比如数组,链表,二叉树等等。那么第一个专题就是贪心算法。前20题链接【LeetCode】汇总贴(NO.1-20)自己建了一个LeetCode刷题群,交流自己的刷题心得,现在还没有到达预定的人数,感兴趣的小伙伴可以参加哦,个人微信:wxb950917。为面试而生,期待你的加入。二、什么是贪心算法贪心算法在LeetCode共有41个题目,以中等难度居多。那么什么是贪心算法呢?贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。贪心算法每一步必须满足一下条件: 1、可行的:即它必须满足问题的约束。 2、局部最优:他是当前步骤中所有可行选择中最佳的局部选择。 3、不可取消:即选择一旦做出,在算法的后面步骤就不可改变了。学习贪心算法的时候可以结合动态规划一起来学习,两者还是很相似的。三、今日题目买卖股票的最佳时机 II(122)给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6-3 = 3 。示例 2:输入: [1,2,3,4,5]输出: 4解释: 在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 注意你不能在第 1 天和第 2 天接连购买股票,之后再将它们卖出。 因为这样属于同时参与了多笔交易,你必须在再次购买前出售掉之前的股票。示例 3:输入: [7,6,4,3,1]输出: 0解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。四、题目分析贪心算法,总是做出在当前看来是最好的选择,不从整体最优上加以考虑,也就是说,只关心当前最优解,按照贪心策略,不关心以后,我们只关心当前利益。第0天买入,花费prices[0],第一天卖出,得到prices[1],那么我们的收获就是profit = prices[1] - prices[0],那么有两种情况(1)当profit > 0 时,赶紧买入卖出,能赚一笔是一笔。(2)当profit <= 0 时,再买入卖出的话,那就是傻了,亏钱。以此方式类推下去,即得最大利润。五、代码实现class Solution:def maxProfit(self, prices): """ :type prices: List[int] :rtype: int """ profit = 0 temp=0 for i in range(1,len(prices)): temp=prices[i] - prices[i-1] if temp>0: profit+=temp return profit【推荐阅读】【Python爬虫】初识爬虫(1)用Python来一场人工造雪机器学习实战–住房月租金预测(1)Python之禅 ...

January 16, 2019 · 1 min · jiezi

Bat脚本

在工作中,因为微服务结构,所以每次更新代码都需要重新启动/关闭多个服务,每次手动都比较麻烦,故写了一些bat脚本一键运行/关闭相关服务,以下记录一些相关的bat脚本命令bat命令tasklist 进程列表taskkill 杀死进程start cmd /k “cd D://GoPath && git pull …” 开启一个新的窗口运行命令

January 6, 2019 · 1 min · jiezi