文章目录题目描述输入描述输出描述用例JS算法源码Java算法源码python算法源码c算法源码c++算法源码题目描述给定一个正整数数组,设为nums,最大为100个成员,求从第一个成员开始,正好走到数组最后一个成员,所使用的最少步骤数。要求:1.第一步必须从第一元素开始,且1<=第一步的步长
正则表达式完全指南
silver687
正则表达式
正则表达式完全指南正则表达式(RegularExpression,简称regex或regexp)是一种强大的文本处理工具,用于匹配、查找、替换等操作字符串中符合特定模式的文本。它广泛应用于各种编程语言和文本处理工具中,如Python、JavaScript、grep等。以下是对正则表达式的全面介绍。一、基本概念(一)字符集字符集是正则表达式中最基本的单元,用于匹配特定的字符。•普通字符:大多数字符,
从零创建一个 Django 项目
m0_74825172
djangopython后端
1.准备环境在开始之前,确保你的开发环境满足以下要求:安装了Python(推荐3.8或更高版本)。安装pip包管理工具。如果要使用MySQL或PostgreSQL,确保对应的数据库已安装。创建虚拟环境在项目目录中创建并激活虚拟环境,保证项目依赖隔离:#创建虚拟环境python-mvenvenv#激活虚拟环境#WindowsenvScriptsactivate#Linux/Macsourceenv/
python学习笔记
浅夏入秋^_^
Python编程语言python学习开发语言
python学习笔记第1-3章基础知识https://www.jetbrains.com/help/pycharm/小技巧:如果在编辑器中未选择任何内容,按⌘C可将文本光标处的整行复制到剪贴板。按两次⌃Space可调用代码补全功能的特殊变体,这样您可以从没有在当前文件中声明的命名空间补全XML标记名称。如果命名空间尚未声明,则会自动生成声明。使用代码|检查代码可对整个项目或自定义范围运行代码分析,
Python怎么开发Unity
Jacob Piao
unityc#游戏引擎开发语言
你可以使用Python来开发Unity游戏引擎的脚本。要在Unity中使用Python,你需要安装一个能够将Python代码转换为可以在Unity中运行的C#代码的工具。有几种方法可以实现这一点:使用IronPython:IronPython是一个基于.NET的Python实现,它可以在Unity中直接运行Python代码。使用PyUnity:PyUnity是一个能够将Python代码转换为Uni
华为OD机试2024年E卷-最长连续交替方波信号[200分]( Java | Python3 | C++ | C语言 | JsNode | Go)实现100%通过率
梅花C
华为OD题库华为od
题目描述输入一串方波信号,求取最长的完全连续交替方波信号,并将其输出,如果有相同长度的交替方波信号,输出任一即可,方波信号高位用1标识,低位用0标识如图:说明:一个完整的信号一定以0开始然后以0结尾,即010是一个完整的信号,但101,1010,0101不是输入的一串方波信号是由一个或多个完整信号组成两个相邻信号之间可能有0个或多个低位,如0110010,011000010同一个信号中可以有连续的
unity支持python吗_在C#或Unity中执行Python脚本
weixin_39776817
unity支持python吗
IusedKerasinPythontodesignaneuralnetworkcalculatingsomethinglikeanoise-reducing-function.Itworksprettygoodsofar,andnowIwanttousethisnetworktocleanthedatainsideaUnity-Projectofmine.Iwouldnothavethought
python图片分析中央气象台降水_python 画降水量色斑图问题
weixin_39884100
#引用部分importnumpyasnpimportpandasaspdfromscipy.interpolateimportRbf#径向基函数:将站点信息插到格点上用于绘制等值线importmatplotlib.pyplotaspltimportmatplotlib.colorsascolorsimportmatplotlibasmplimportcartopy.crsasccrsimportc
《CPython Internals》阅读笔记:p221-p231
python
《CPythonInternals》学习第12天,p221-p231总结,总计11页。一、技术总结无。二、英语总结(生词:2)1.atatimeidiom.separately(单独地)inthespecifiedgroups(一次)。示例:(1)Icanonlydoonethingatatim(我一次只能做一件事)。(2)Wecarriedtheboxestwoatatimeupthestair
从零开始,掌握Django Web开发
ivwdcwso
开发django前端pythonweb开发
1.Django简介Django是一个强大的PythonWeb框架,它使开发人员能够快速构建安全、可扩展的Web应用程序。让我们深入了解Django的特性和优势。1.1什么是Django?Django是一个高级PythonWeb框架,于2005年首次发布。它由新闻网站的开发人员创建,旨在处理快节奏的新闻编辑室环境中的挑战。Django遵循"不要重复自己"(DRY)和"约定优于配置"的原则。Djan
Python字符串常用操作
Taichi呀
pythonpython开发语言
Python字符串常用操作一、字符串的切片1.1、通过下标及下标范围取值my_str='myNameIsTaichi'value1=my_str[2]#正向Nvalue2=my_str[-5]#反向从-1开始a字符串分割,语法:string[end:step]start:头下标,以0开始end:尾下表,以-1开始step步长str="abc-123-如果我是DJ你会爱我吗.mp4"print(st
Jetson Nano部署TensorRT加速的YOLO V8
Hylan_J
学习项目YOLOgithubarm开发
JetsonNano部署YOLOV8刷JetPack镜像Step1:格式化SD卡Step2:下载镜像文件Step3:烧录镜像文件Python环境配置Solution1:更改默认的Python环境Solution2:使用conda管理Python环境YOLOV8部署Step1:源码下载Step2:trtexec环境变量设置Step3:pt权重文件导出为ONNX格式Step4:ONNX文件生成engi
在Unity中如何使用Python
乐极老人*逢人打
unitypython游戏引擎
Unity本身并不直接支持Python作为脚本语言。Unity主要使用C#作为其主要的脚本语言,也支持UnityScript(一种类似JavaScript的语言,但已经逐渐被淘汰)和BOO(也已被淘汰)。然而,虽然Unity不直接支持Python,但你仍然有一些方法可以在Unity项目中使用Python。使用外部进程调用Python:你可以在Unity中创建一个外部进程来运行Python脚本。这可
Python脚本发送接收组播报文
dangdanding
Python网络编程网络python
组播发送脚本pythonsend_mcast.py-g232.1.2.3-p12345#!/usr/bin/python#-*-coding:utf-8-*-importsocketimportstructimportosimportargparseimportlogging#组播组地址,范围是224.0.0.0-239.255.255.255,这里选用224.0.0.1作为示例multicast
Python基于Scapy的抓包协议分析器
dangdanding
scapypython
scapy可以使用那些协议-CSDN原理:模仿wireshark,利用python的scapy模块下的sniff()函数进行数据的抓取,并进行所谓的“消费者处理”即跟据OSI网络协议模型进行协议分析。将整个程序精简的概括得到最关键的一句代码:sniff(prn=lambdapkt:packet_consumer(pkt),stop_filter=lambdapkt:stop_sniff_event
史上最全!Python爬虫requests库(附案例)
疯狂的超级玛丽
PythonPython学习Python入门python爬虫开发语言学习Python基础python自学
1.requests库简介如果你正在学习Python并且找不到方向的话可以试试我这一份学习方法+籽料呀!点击领取(不要米米)Requests是一个为人类设计的简单而优雅的HTTP库。requests库是一个原生的HTTP库,比urllib3库更为容易使用。requests库发送原生的HTTP1.1请求,无需手动为URL添加查询串,也不需要对POST数据进行表单编码。相对于urllib3库,requ
【华为OD机试真题】56、 构成正方形的数量 | 机试真题+思路参考+代码解析(C语言、C++、Java、Py、JS)
鲨鱼狼臧
华为odc语言c++javascript构成正方形的数量java
文章目录一、题目题目描述输入输出样例1样例2样例3样例4样例5样例6样例7二、代码与思路参考C语言思路C代码C++语言思路C++代码Java语言思路Java代码Python语言思路Python代码JS语言思路JS代码作者:鲨鱼狼臧个人博客首页:鲨鱼狼臧专栏介绍:2023华为OD机试真题,使用C、C++、JS、Java、Python五种语言进行解答,专栏每篇文章都包括真题,思路参考,代码分析,订阅有
使用idea如何打开python项目
梅有卷呀
pythonintellij-idea
1.查看python路径,win+R==>cmd==>wherepython,可以找到python.exe文件2.解决方案:1.首先找到python安装位置。(如:D:\VS2019\共享组件、工具和SDK\Python37_64)2.查找pip工具路径。(Python37_64->Scripts->pip)3.修改环境变量PATH。(这台电脑->属性->高级系统设置->高级->环境变量->系统变
python爬虫scrapy爬取新闻标题及链接_18Python爬虫---CrawlSpider自动爬取新浪新闻网页标题和链接...
珍妮赵
一、爬取新浪新闻思路1、创建scrapy项目2、分析新浪新闻网站静态页面代码3、编写对应的xpath公式4、写代码二、项目代码步骤1、创建scrapy项目scrapystartprojectmycwpjt步骤2、分析新浪网站静态代码随便打开一个新浪新闻网,新闻可以看到地址为http://news.sina.com.cn/gov/xlxw/2018-03-21/doc-ifyskeue0491622
python图片分析中央气象台降水量预报_全国天气降水量预报图数据接口
周美灵是我大姐头
全国天气降水量预报图接口免费在线测试此接口(需要登录)接口每两小时更新一次,一天调取1-2次即可,返回3张图:24、48、72小时,请勿频繁调用!。请求方式及url:请求方式:GET接口地址:https://tianqiapi.com/api请求示例https://tianqiapi.com/api?version=v8&appid=&appsecret=请求参数说明:参数名必选类型说明备注(示例
深度学习驱动的极端天气预测:时空数据异常检测与应用全解析(基于Python + TensorFlow)
AI_DL_CODE
深度学习pythontensorflow人工智能天气预测
摘要:时空数据异常检测在气象领域识别偏离正常模式的数据点,对极端天气预测至关重要。深度学习,尤其是LSTM网络,因其强大的特征学习能力在该领域显示出巨大潜力。通过整合多源气象数据,深度学习模型能够自动挖掘复杂模式和非线性关系,提高预测准确性。然而,挑战依然存在,包括数据质量问题、模型可解释性不足以及极端天气的内在复杂性和不确定性。未来,通过模型架构创新、训练算法优化以及探索深度学习在气候预测、气象
Python 正则表达式
weixin_34319640
python爬虫
最近研究Python爬虫,很多地方用到了正则表达式,但是没好好研究,每次都得现查文档。今天就专门看看Python正则表达式。本文参考了官方文档re模块。模式首先正则表达式的语法我就不说了,这玩意倒是不算难,用的时候现查就行了——正则表达式_百度百科。在很多编程语言中,由于有转义字符这么一种东西的存在,导致正则表达式需要使用两个斜杠来处理。如果编程语言支持原始字符串,那么就不需要两个斜杠了。在Pyt
华为OD机试E卷 --字符串分割--24年OD统一考试(Java & JS & Python & C & C++)
飞码创造者
最新华为OD机试题库2024java华为odjavascriptpythonjsc语言
文章目录题目描述输入描述输出描述用例题目解析JS算法源码Java算法源码python算法源码c算法源码题目描述给定一个非空字符串S,其被N个-分隔成N+1的子串,给定正整数K,要求除第一个子串外,其余的子串每K个字符组成新的子串,并用-'分隔。对于新组成的每一个子串,如果它含有的小写字母比大写字母多,则将这个子串的所有大写字母转换为小写字母;反之,如果它含有的大写字母比小写字母多,则将这个子串的所
linux 安装jupyter教程 自定义配置 jupyter忘记密码重置密码
0x8g1T9E
dockerpythonDMMLDL
第一步检查Python环境python-V第二步通过pip安装jupyterpipinstalljupyter 第三步生成jupyter配置文件#root客户:jupyternotebook--generate-config--allow-root#非root客户jupyternotebook--generate-config值得一提的是:windows环境下,并没有jupyter_noteboo
如何利用OpenCV和yolo实现人脸检测
音视频牛哥
大牛直播SDKopencv人工智能计算机视觉yolo11人脸检测opencv人脸检测yolo人脸检测
在之前的blog里面,我们有介绍OpenCV和yolo的区别,本文就人脸检测为例,分别介绍下OpenCV和yolo的实现方式。OpenCV实现人脸检测一、安装OpenCV首先确保你已经安装了OpenCV库。可以通过以下方式安装:使用包管理工具安装:在Python环境中,可以使用pip安装:pipinstallopencv-python。二、加载预训练的人脸检测模型OpenCV提供了基于Haar特征
python捕获异常
青云游子
python
try:name="aaa"id="aaa"exceptExceptionase:print("任务报错")print(str(e))print(str(traceback.print_exc()))spark.sql("""insertintotabledim.aaaselect'1','666','{name}','{id}',null,null,null,null,current_times
python 代码实现了一个条件生成对抗网络(Conditional Generative Adversarial Network,CGAN),用于生成与给定的理化值相关的光谱数据
max500600
算法开发语言python生成对抗网络开发语言
importtensorflowastfimportnumpyasnpimportpandasaspdimportosimportmatplotlib.pyplotaspltfromsklearn.model_selectionimporttrain_test_splitfromtensorflow.keras.layersimportAdd,BatchNormalizationos.enviro
Python字符串
月挽星回#
pythonjava服务器
一.字符串创建Python中,字符串可以使用单引号、双引号或三重引号来创建。使用单引号或双引号创建的字符串是一行字符串。使用三重引号创建的字符串可以包含多行文本。str1='Hello,World!'#单引号str2="Hello,World!"#双引号str3='''Hello,World!'''#三重引号str4="""Hello,World!"""#三重引号multiline_string=
拿下美赛M奖之必备软件和网站!
东方建模.
数学建模
目录前言:一.题目翻译与理解:DeepL+知云文献翻译二.查找文献:国内外平台结合使用三.论文撰写:Word或LaTeX+Overleaf四.公式输入与思维导图:MathType+XMind五.阅读文献与文献管理:AdobeReader+Zotero六.模型求解与编程:MATLAB+Python+Lingo七.图形绘制与结果可视化:MATLAB+Python+Origin八.流程图与示意图:亿图图
对于规范和实现,你会混淆吗?
yangshangchuan
HotSpot
昨晚和朋友聊天,喝了点咖啡,由于我经常喝茶,很长时间没喝咖啡了,所以失眠了,于是起床读JVM规范,读完后在朋友圈发了一条信息:
JVM Run-Time Data Areas:The Java Virtual Machine defines various run-time data areas that are used during execution of a program. So
android 网络
百合不是茶
网络
android的网络编程和java的一样没什么好分析的都是一些死的照着写就可以了,所以记录下来 方便查找 , 服务器使用的是TomCat
服务器代码; servlet的使用需要在xml中注册
package servlet;
import java.io.IOException;
import java.util.Arr
[读书笔记]读法拉第传
comsci
读书笔记
1831年的时候,一年可以赚到1000英镑的人..应该很少的...
要成为一个科学家,没有足够的资金支持,很多实验都无法完成
但是当钱赚够了以后....就不能够一直在商业和市场中徘徊......
随机数的产生
沐刃青蛟
随机数
c++中阐述随机数的方法有两种:
一是产生假随机数(不管操作多少次,所产生的数都不会改变)
这类随机数是使用了默认的种子值产生的,所以每次都是一样的。
//默认种子
for (int i = 0; i < 5; i++)
{
cout<<
PHP检测函数所在的文件名
IT独行者
PHP函数
很简单的功能,用到PHP中的反射机制,具体使用的是ReflectionFunction类,可以获取指定函数所在PHP脚本中的具体位置。 创建引用脚本。
代码:
[php]
view plain
copy
// Filename: functions.php
<?php&nbs
银行各系统功能简介
文强chu
金融
银行各系统功能简介 业务系统 核心业务系统 业务功能包括:总账管理、卡系统管理、客户信息管理、额度控管、存款、贷款、资金业务、国际结算、支付结算、对外接口等 清分清算系统 以清算日期为准,将账务类交易、非账务类交易的手续费、代理费、网络服务费等相关费用,按费用类型计算应收、应付金额,经过清算人员确认后上送核心系统完成结算的过程 国际结算系
Python学习1(pip django 安装以及第一个project)
小桔子
pythondjangopip
最近开始学习python,要安装个pip的工具。听说这个工具很强大,安装了它,在安装第三方工具的话so easy!然后也下载了,按照别人给的教程开始安装,奶奶的怎么也安装不上!
第一步:官方下载pip-1.5.6.tar.gz, https://pypi.python.org/pypi/pip easy!
第二部:解压这个压缩文件,会看到一个setup.p
php 数组
aichenglong
PHP排序数组循环多维数组
1 php中的创建数组
$product = array('tires','oil','spark');//array()实际上是语言结构而不 是函数
2 如果需要创建一个升序的排列的数字保存在一个数组中,可以使用range()函数来自动创建数组
$numbers=range(1,10)//1 2 3 4 5 6 7 8 9 10
$numbers=range(1,10,
安装python2.7
AILIKES
python
安装python2.7
1、下载可从 http://www.python.org/进行下载#wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
2、复制解压
#mkdir -p /opt/usr/python
#cp /opt/soft/Python-2
java异常的处理探讨
百合不是茶
JAVA异常
//java异常
/*
1,了解java 中的异常处理机制,有三种操作
a,声明异常
b,抛出异常
c,捕获异常
2,学会使用try-catch-finally来处理异常
3,学会如何声明异常和抛出异常
4,学会创建自己的异常
*/
//2,学会使用try-catch-finally来处理异常
getElementsByName实例
bijian1013
element
实例1:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/x
探索JUnit4扩展:Runner
bijian1013
java单元测试JUnit
参加敏捷培训时,教练提到Junit4的Runner和Rule,于是特上网查一下,发现很多都讲的太理论,或者是举的例子实在是太牵强。多搜索了几下,搜索到两篇我觉得写的非常好的文章。
文章地址:http://www.blogjava.net/jiangshachina/archive/20
[MongoDB学习笔记二]MongoDB副本集
bit1129
mongodb
1. 副本集的特性
1)一台主服务器(Primary),多台从服务器(Secondary)
2)Primary挂了之后,从服务器自动完成从它们之中选举一台服务器作为主服务器,继续工作,这就解决了单点故障,因此,在这种情况下,MongoDB集群能够继续工作
3)挂了的主服务器恢复到集群中只能以Secondary服务器的角色加入进来
2
【Spark八十一】Hive in the spark assembly
bit1129
assembly
Spark SQL supports most commonly used features of HiveQL. However, different HiveQL statements are executed in different manners:
1. DDL statements (e.g. CREATE TABLE, DROP TABLE, etc.)
Nginx问题定位之监控进程异常退出
ronin47
nginx在运行过程中是否稳定,是否有异常退出过?这里总结几项平时会用到的小技巧。
1. 在error.log中查看是否有signal项,如果有,看看signal是多少。
比如,这是一个异常退出的情况:
$grep signal error.log
2012/12/24 16:39:56 [alert] 13661#0: worker process 13666 exited on s
No grammar constraints (DTD or XML schema).....两种解决方法
byalias
xml
方法一:常用方法 关闭XML验证
工具栏:windows => preferences => xml => xml files => validation => Indicate when no grammar is specified:选择Ignore即可。
方法二:(个人推荐)
添加 内容如下
<?xml version=
Netty源码学习-DefaultChannelPipeline
bylijinnan
netty
package com.ljn.channel;
/**
* ChannelPipeline采用的是Intercepting Filter 模式
* 但由于用到两个双向链表和内部类,这个模式看起来不是那么明显,需要仔细查看调用过程才发现
*
* 下面对ChannelPipeline作一个模拟,只模拟关键代码:
*/
public class Pipeline {
MYSQL数据库常用备份及恢复语句
chicony
mysql
备份MySQL数据库的命令,可以加选不同的参数选项来实现不同格式的要求。
mysqldump -h主机 -u用户名 -p密码 数据库名 > 文件
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqldump -–add-drop-table -uusername -ppassword databasename > ba
小白谈谈云计算--基于Google三大论文
CrazyMizzz
Google云计算GFS
之前在没有接触到云计算之前,只是对云计算有一点点模糊的概念,觉得这是一个很高大上的东西,似乎离我们大一的还很远。后来有机会上了一节云计算的普及课程吧,并且在之前的一周里拜读了谷歌三大论文。不敢说理解,至少囫囵吞枣啃下了一大堆看不明白的理论。现在就简单聊聊我对于云计算的了解。
我先说说GFS
&n
hadoop 平衡空间设置方法
daizj
hadoopbalancer
在hdfs-site.xml中增加设置balance的带宽,默认只有1M:
<property>
<name>dfs.balance.bandwidthPerSec</name>
<value>10485760</value>
<description&g
Eclipse程序员要掌握的常用快捷键
dcj3sjt126com
编程
判断一个人的编程水平,就看他用键盘多,还是鼠标多。用键盘一是为了输入代码(当然了,也包括注释),再有就是熟练使用快捷键。 曾有人在豆瓣评
《卓有成效的程序员》:“人有多大懒,才有多大闲”。之前我整理了一个
程序员图书列表,目的也就是通过读书,让程序员变懒。 程序员作为特殊的群体,有的人可以这么懒,懒到事情都交给机器去做,而有的人又可以那么勤奋,每天都孜孜不倦得
Android学习之路
dcj3sjt126com
Android学习
转自:http://blog.csdn.net/ryantang03/article/details/6901459
以前有J2EE基础,接触JAVA也有两三年的时间了,上手Android并不困难,思维上稍微转变一下就可以很快适应。以前做的都是WEB项目,现今体验移动终端项目,让我越来越觉得移动互联网应用是未来的主宰。
下面说说我学习Android的感受,我学Android首先是看MARS的视
java 遍历Map的四种方法
eksliang
javaHashMapjava 遍历Map的四种方法
转载请出自出处:
http://eksliang.iteye.com/blog/2059996
package com.ickes;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
/**
* 遍历Map的四种方式
【精典】数据库相关相关
gengzg
数据库
package C3P0;
import java.sql.Connection;
import java.sql.SQLException;
import java.beans.PropertyVetoException;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class DBPool{
自动补全
huyana_town
自动补全
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml&quo
jquery在线预览PDF文件,打开PDF文件
天梯梦
jquery
最主要的是使用到了一个jquery的插件jquery.media.js,使用这个插件就很容易实现了。
核心代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.
ViewPager刷新单个页面的方法
lovelease
androidviewpagertag刷新
使用ViewPager做滑动切换图片的效果时,如果图片是从网络下载的,那么再子线程中下载完图片时我们会使用handler通知UI线程,然后UI线程就可以调用mViewPager.getAdapter().notifyDataSetChanged()进行页面的刷新,但是viewpager不同于listview,你会发现单纯的调用notifyDataSetChanged()并不能刷新页面
利用按位取反(~)从复合枚举值里清除枚举值
草料场
enum
以 C# 中的 System.Drawing.FontStyle 为例。
如果需要同时有多种效果,
如:“粗体”和“下划线”的效果,可以用按位或(|)
FontStyle style = FontStyle.Bold | FontStyle.Underline;
如果需要去除 style 里的某一种效果,
Linux系统新手学习的11点建议
刘星宇
编程工作linux脚本
随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起。这里介绍学习Linux的一些建议。
一、从基础开始:常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的。例如:为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制使用者的权限等问题,这些问题其实都不是很难的,只要了解了 Linu
hibernate dao层应用之HibernateDaoSupport二次封装
wangzhezichuan
DAOHibernate
/**
* <p>方法描述:sql语句查询 返回List<Class> </p>
* <p>方法备注: Class 只能是自定义类 </p>
* @param calzz
* @param sql
* @return
* <p>创建人:王川</p>
* <p>创建时间:Jul