文章目录题目描述输入描述输出描述用例JS算法源码Java算法源码python算法源码c算法源码c++算法源码题目描述给定一个正整数数组,设为nums,最大为100个成员,求从第一个成员开始,正好走到数组最后一个成员,所使用的最少步骤数。要求:1.第一步必须从第一元素开始,且1<=第一步的步长
正则表达式完全指南
silver687
正则表达式
正则表达式完全指南正则表达式(RegularExpression,简称regex或regexp)是一种强大的文本处理工具,用于匹配、查找、替换等操作字符串中符合特定模式的文本。它广泛应用于各种编程语言和文本处理工具中,如Python、JavaScript、grep等。以下是对正则表达式的全面介绍。一、基本概念(一)字符集字符集是正则表达式中最基本的单元,用于匹配特定的字符。•普通字符:大多数字符,
OpenAI前CTO最隐秘AI创业:没名字没方向,挖走OpenAI高管,10位顶尖人才投奔
量子位
关注前沿科技量子位公司名字没有,产品方向未定。OpenAI前CTO创业几个月,却已经有10位顶尖研究员和工程师投奔。且分别来自OpenAI、谷歌、Anthropic这几个巨头。其中包括OpenAI特别项目负责人JonathanLachman。随后,OpenAI发言人也证实了Lachman的离职。去年九月,Mira离开OpenAI被曝AGI创业,一个月后就吸金超1亿美元。不过目前,该公司仍处于非常早
从零创建一个 Django 项目
m0_74825172
djangopython后端
1.准备环境在开始之前,确保你的开发环境满足以下要求:安装了Python(推荐3.8或更高版本)。安装pip包管理工具。如果要使用MySQL或PostgreSQL,确保对应的数据库已安装。创建虚拟环境在项目目录中创建并激活虚拟环境,保证项目依赖隔离:#创建虚拟环境python-mvenvenv#激活虚拟环境#WindowsenvScriptsactivate#Linux/Macsourceenv/
mac homebrew 安装
小画家~
前端macos
Homebrewhasenabledanonymousaggregateformulaeandcaskanalytics.Readtheanalyticsdocumentation(andhowtoopt-out)here:https://docs.brew.sh/AnalyticsNoanalyticsdatahasbeensentyet.Homebrewisrunentirelybyunpai
云原生周刊:Prometheus 3.0 正式发布
云计算
开源项目推荐Achilles-SDKAchilles-SDK是一个专为构建Kubernetes控制器而设计的开源开发工具包。它简化了控制器的开发流程,提供了强大的API和高效的抽象层,使开发者能够专注于业务逻辑的实现,而无需处理底层复杂性。Achilles-SDK支持快速构建高性能、可扩展的Kubernetes控制器,是开发Kubernetes原生应用和自动化操作的理想选择。KLKL是一个为终端提
[Mac + Icarus Verilog + gtkwave] Mac运行Verilog及查看波形图
Xminyang
MacVerilogHDLmacosverilog
目录1.MAC安装环境1.1IcarusVerilog编译1.2gtkwave查看波形2.安装遇到的问题2.1macOScannotverifythatthisappisfreefrommalware2.2gtkwave-binisnotcompatiblewithmacOS14orlater3.运行示例3.1源代码3.2编译Verilog3.3生成.vcd文件3.3查看波形3.4脚本运行参考1.
一步到位:购买适合 SEO 的域名全攻略
后端
选择一个对SEO友好的域名不仅可以提高搜索引擎排名,还能增强品牌影响力。以下是简化优化后的购买流程:1.检查域名历史,确保无负面记录在购买域名前,务必确认它没有被封锁或拉黑,并且历史记录与您的行业相关:检查域名安全性和历史VirusTotal:查看域名是否被列为不安全。WebArchive:查看域名以前的用途,判断是否有不良记录或与您的行业冲突。GoogleTransparencyReport:检
06 SpringBoot 配置文件详解-application.yaml
KinMan谨漫
springbootjavaspring
SpringBoot提供了大量的自动配置,极大地简化了spring应用的开发过程,当用户创建了一个SpringBoot项目后,即使不进行任何配置,该项目也能顺利的运行起来。当然,用户也可以根据自身的需要使用配置文件修改SpringBoot的默认设置。SpringBoot默认使用以下2种全局的配置文件,其文件名是固定的。application.propertiesapplication.ymlapp
第78期 | GPTSecurity周报
aigcgpts
GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大语言模型(LLM)等安全领域应用的知识。在这里,您可以找到关于GPT/AIGC/LLM最新的研究论文、博客文章、实用的工具和预设指令(Prompts)。现为了更好地知悉近一周的贡献内容,现总结如下。SecurityPapers1.ChatNVD:借
让iPhone自带浏览器Safari能自动播放Video视频的办法
夏日米米茶
videoautoplayiphone
原以为在标签上加入“autoplay”属性就能自动播放了,没想到会受到浏览器的安全限制,会阻止视频的自动播放,具体说明可查看:https://developer.mozilla.org/zh-CN/docs/Web/Media/Autoplay_guide想让浏览器自动播放视频/音频媒体的具体解决方法如下:1、首先要在video标签上加入必要的属性,例如:尤其注意需要设置“音频文件静音或其音量设置
ACL 2024 | 美团技术团队精选论文解读
美团算法人工智能
本文精选了美团技术团队被ACL2024收录的4篇论文进行解读,论文内容覆盖了训练成本优化、投机解码、代码生成优化、指令微调(IFT)等技术领域。这些论文是美团技术团队跟高校、科研机构合作的成果。希望能给从事相关研究工作的同学带来一些帮助或启发。ACL是计算语言学和自然语言处理领域最重要的顶级国际会议,由国际计算语言学协会组织,每年举办一次。据谷歌学术计算语言学刊物指标显示,ACL影响力位列第一,是
Java Arrays 方法详解
赔罪
Java系统学习java算法eclipse开发语言intellij-ideajava-eeArray方法详解
目录1.JavaArrays.fill()方法详解2.JavaArrays.copyOf()方法详解3.JavaArrays.copyOfRange()方法详解4.JavaArrays.sort()方法详解1.sort(T[]a)2.sort(T[]a,intformIndex,inttoIndex)3.sort(T[]a,Comparatorc)(1)按第一维元素比较二维数组:(2)按第二维元素
让创意在幻觉中肆虐: 认识Illusion Diffusion AI
程序员
人工智能新境界在不断发展的人工智能领域,一款非凡的新工具应运而生,它能将普通照片转化为绚丽的艺术品。敬请关注IllusionDiffusion,这是一个将现实与想象力完美融合的AI驱动平台,可创造出迷人的视错觉和超现实意境。AI算法的魔力所在IllusionDiffusion的核心是借助先进的AI模型,包括StableDiffusion和ControlNet,来解读用户输入的文本提示,并生成相应的
iOS离屏渲染详解
风雨「83」
iOSiosobjective-c
iOS离屏渲染离屏渲染是指图层在被显示之前是在当前屏幕缓冲区以外开辟的一个缓冲区进行渲染操作。离屏渲染需要多次切换上下文环境:先是从当前屏幕(On-Screen)切换到离屏(Off-Screen);等到离屏渲染结束以后,将离屏缓冲区的渲染结果显示到屏幕上又需要将上下文环境从离屏切换到当前屏幕,而上下文环境的切换是一项高开销的动作。会造成offscreenrendering的原因有:阴影(UIVie
pod更新慢的问题
风雨「83」
iOSiosobjective-cswiftxcode
最近使用CocoaPods来添加第三方类库,无论是执行podinstall还是podupdate都卡在了Analyzingdependencies不动原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:podinstall--verbose--no-repo-updatepodupdate--verbose--n
iOS 保持界面流畅的技巧
风雨「83」
iOSiosobjective-cxcode
一个非常经典的帖子,适合iOS中高级https://blog.ibireme.com/2015/11/12/smooth_user_interfaces_for_ios/
如何找到 niche 出海细分市场的 IDEA
程序员
先说结论就是:看榜单Why:为什么看榜单?大家会问为什么?原因很简单:熟读唐诗三百首,不会作诗也会吟不天天看榜单上相关的优秀同行,你想干啥心法就是下苦功夫坚持,量变引起质变,排行榜天天看竞品思维:看看有什么好的“参考方向“。从发现IDEA->市场分析->到MVP学习思维:看看优秀的产品,不管产品设计还是其他有没有学习的点What:看哪些榜单?我有个习惯,隔几天刷一刷软件产品榜单。这里分享几个我常看
10 个免费的 AI 图片生成工具分享
程序员
原文:https://openaigptguide.com/ai-picture-generator/在人工智能(AI)图像生成技术的推动下,各类AI图片生成网站如雨后春笋般涌现,为我们的日常生活提供了丰富多彩的视觉体验。AI图片生成技术原理人工智能(AI)图片生成技术原理是通过计算机程序使用深度学习算法从大量的数据中学习特征,并根据特征创建新的图片。该技术可以模拟人类的绘画过程,学习输入图像的潜
敏捷开发领域里的 Epic 以及和 User Story 的关联关系
项目管理敏捷开发
在敏捷软件开发领域,Epic(史诗)通常是指一个大型的、跨越多个迭代周期的用户需求或者业务功能。Epic通常包含多个相关的故事(UserStory),这些故事描述了Epic所包含的具体功能和需求。Epic是敏捷开发中用于管理大型需求和复杂业务的一种方式。它可以帮助团队更好地理解用户需求、制定相应的开发计划和迭代计划、评估开发成本和资源等,从而更好地组织和管理软件开发工作。在实践中,团队通常会将Ep
华为数通HCIA(学习笔记)
想做运维大佬
华为数通(HCIA)笔记系列华为学习笔记
2024-03-22重启华为数通学习计划由于工作原因,预计将在2024年6月30日之前完成HCIP的学习并通过HCIP的考试-在2025年6月30日前完成HCIE的学习并通过HCIE的考试此为学习笔记,实验笔记和试题笔记会分别更新到其他帖子中一、数据网络通信基础1.1专业名词LAN(LocalAreaNetwork):局域网Ethrenet:以太网Campus:园区网VLAN(VirtualLAN
Ultralytics YOLOv8 英伟达™ Jetson®处理器部署
kuan_li_lyg
树莓派&JetsonYOLO机器人自动驾驶强化学习计算机视觉深度学习人工智能
系列文章目录前言本综合指南提供了在英伟达Jetson设备上部署UltralyticsYOLOv8的详细攻略。此外,它还展示了性能基准,以证明YOLOv8在这些小巧而功能强大的设备上的性能。备注本指南使用SeeedStudioreComputerJ4012进行测试,它基于运行最新稳定JetPack版本JP5.1.3的NVIDIAJetsonOrinNX16GB。对于较
链路测试tool之MTR详解
浅夏入秋^_^
网络基础服务器网络运维
背景当客户端访问服务端,使用ping命令出现不通或丢包时,可以使用mtr进行链路测试。测试方式正向链路测试(客户端-->服务端)反向链路测试(服务端-->客户端)工具简介MTR是一款网络诊断工具,它将ping和traceroute的功能合并,相对于traceroute只会做一次链路跟踪测试,mtr会对链路上的相关节点做持续探测并给出相应的统计信息。因此,mtr能避免节点波动对测试结果的影响,所以其
python学习笔记
浅夏入秋^_^
Python编程语言python学习开发语言
python学习笔记第1-3章基础知识https://www.jetbrains.com/help/pycharm/小技巧:如果在编辑器中未选择任何内容,按⌘C可将文本光标处的整行复制到剪贴板。按两次⌃Space可调用代码补全功能的特殊变体,这样您可以从没有在当前文件中声明的命名空间补全XML标记名称。如果命名空间尚未声明,则会自动生成声明。使用代码|检查代码可对整个项目或自定义范围运行代码分析,
kali设置系统时间
浅夏入秋^_^
渗透linux安全运维
kali设置系统时间1、查看系统时间,发现时间不对┌──(root㉿kali)-[~]└─#date2022年05月29日星期日23:08:47EDT2、修改系统时间步骤:tzselect#依次选择Asia-China-BeijingTime-Yesecho"ZONE=Asia/Shanghai">>/etc/sysconfigrm-f/etc/localtime#链接到上海时区文件ln-sf/u
IP地址之网络位和主机位
浅夏入秋^_^
网络运维网络配置部署运维
IP地址之网络位和主机位-----------------192.168.1.011000000101010000000000100000000IP地址11111111111111111111111100000000掩码11000000101010000000000100000000192.168.1(网络位)IP地址和子网掩码进行与运算,得到对应的网络位。IP地址分为ABCDE5类A类:0.0.
IEEE 常用期刊会议全称及缩写(自用)
XueZheng@gdut
科研方法科研IEEE会议期刊缩写
期刊缩写IEEECommunicationsLettersIEEECommun.Lett.IEEECommunicationsSurveysandTutorialsIEEECommun.Surv.TutorialsIEEEIntelligentTransportationSystemsMagazineIEEEIntell.Transp.Syst.Mag.IEEEInternetofThingsJo
Node.js Express与MongoDB博客系统开发实战
凯二七
本文还有配套的精品资源,点击获取简介:本项目采用Node.js及其Express框架,结合MongoDB非关系型数据库,构建一个基于RESTfulAPI的Web博客服务。通过CRUD操作实现文章的发布、阅读、编辑和删除功能。项目强调了Node.js的异步I/O和事件驱动特性,以及MongoDB处理大规模、复杂数据集的能力,适合进行毕业设计等综合性开发任务。1.Node.js技术介绍与应用Node.
sql统计相同项个数并按名次显示
朱辉辉33
javaoracle
现在有如下这样一个表:
A表
ID Name time
------------------------------
0001 aaa 2006-11-18
0002 ccc 2006-11-18
0003 eee 2006-11-18
0004 aaa 2006-11-18
0005 eee 2006-11-18
0004 aaa 2006-11-18
0002 ccc 20
Android+Jquery Mobile学习系列-目录
白糖_
JQuery Mobile
最近在研究学习基于Android的移动应用开发,准备给家里人做一个应用程序用用。向公司手机移动团队咨询了下,觉得使用Android的WebView上手最快,因为WebView等于是一个内置浏览器,可以基于html页面开发,不用去学习Android自带的七七八八的控件。然后加上Jquery mobile的样式渲染和事件等,就能非常方便的做动态应用了。
从现在起,往后一段时间,我打算
如何给线程池命名
daysinsun
线程池
在系统运行后,在线程快照里总是看到线程池的名字为pool-xx,这样导致很不好定位,怎么给线程池一个有意义的名字呢。参照ThreadPoolExecutor类的ThreadFactory,自己实现ThreadFactory接口,重写newThread方法即可。参考代码如下:
public class Named
IE 中"HTML Parsing Error:Unable to modify the parent container element before the
周凡杨
html解析errorreadyState
错误: IE 中"HTML Parsing Error:Unable to modify the parent container element before the child element is closed"
现象: 同事之间几个IE 测试情况下,有的报这个错,有的不报。经查询资料后,可归纳以下原因。
java上传
g21121
java
我们在做web项目中通常会遇到上传文件的情况,用struts等框架的会直接用的自带的标签和组件,今天说的是利用servlet来完成上传。
我们这里利用到commons-fileupload组件,相关jar包可以取apache官网下载:http://commons.apache.org/
下面是servlet的代码:
//定义一个磁盘文件工厂
DiskFileItemFactory fact
SpringMVC配置学习
510888780
springmvc
spring MVC配置详解
现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了。不过要想灵活运用Spring MVC来应对大多数的Web开发,就必须要掌握它的配置及原理。
一、Spring MVC环境搭建:(Spring 2.5.6 + Hi
spring mvc-jfreeChart 柱图(1)
布衣凌宇
jfreechart
第一步:下载jfreeChart包,注意是jfreeChart文件lib目录下的,jcommon-1.0.23.jar和jfreechart-1.0.19.jar两个包即可;
第二步:配置web.xml;
web.xml代码如下
<servlet>
<servlet-name>jfreechart</servlet-nam
我的spring学习笔记13-容器扩展点之PropertyPlaceholderConfigurer
aijuans
Spring3
PropertyPlaceholderConfigurer是个bean工厂后置处理器的实现,也就是BeanFactoryPostProcessor接口的一个实现。关于BeanFactoryPostProcessor和BeanPostProcessor类似。我会在其他地方介绍。PropertyPlaceholderConfigurer可以将上下文(配置文件)中的属性值放在另一个单独的标准java P
java 线程池使用 Runnable&Callable&Future
antlove
javathreadRunnablecallablefuture
1. 创建线程池
ExecutorService executorService = Executors.newCachedThreadPool();
2. 执行一次线程,调用Runnable接口实现
Future<?> future = executorService.submit(new DefaultRunnable());
System.out.prin
XML语法元素结构的总结
百合不是茶
xml树结构
1.XML介绍1969年 gml (主要目的是要在不同的机器进行通信的数据规范)1985年 sgml standard generralized markup language1993年 html(www网)1998年 xml extensible markup language
改变eclipse编码格式
bijian1013
eclipse编码格式
1.改变整个工作空间的编码格式
改变整个工作空间的编码格式,这样以后新建的文件也是新设置的编码格式。
Eclipse->window->preferences->General->workspace-
javascript中return的设计缺陷
bijian1013
JavaScriptAngularJS
代码1:
<script>
var gisService = (function(window)
{
return
{
name:function ()
{
alert(1);
}
};
})(this);
gisService.name();
&l
【持久化框架MyBatis3八】Spring集成MyBatis3
bit1129
Mybatis3
pom.xml配置
Maven的pom中主要包括:
MyBatis
MyBatis-Spring
Spring
MySQL-Connector-Java
Druid
applicationContext.xml配置
<?xml version="1.0" encoding="UTF-8"?>
&
java web项目启动时自动加载自定义properties文件
bitray
javaWeb监听器相对路径
创建一个类
public class ContextInitListener implements ServletContextListener
使得该类成为一个监听器。用于监听整个容器生命周期的,主要是初始化和销毁的。
类创建后要在web.xml配置文件中增加一个简单的监听器配置,即刚才我们定义的类。
<listener>
<des
用nginx区分文件大小做出不同响应
ronin47
昨晚和前21v的同事聊天,说到我离职后一些技术上的更新。其中有个给某大客户(游戏下载类)的特殊需求设计,因为文件大小差距很大——估计是大版本和补丁的区别——又走的是同一个域名,而squid在响应比较大的文件时,尤其是初次下载的时候,性能比较差,所以拆成两组服务器,squid服务于较小的文件,通过pull方式从peer层获取,nginx服务于较大的文件,通过push方式由peer层分发同步。外部发布
java-67-扑克牌的顺子.从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的.2-10为数字本身,A为1,J为11,Q为12,K为13,而大
bylijinnan
java
package com.ljn.base;
import java.util.Arrays;
import java.util.Random;
public class ContinuousPoker {
/**
* Q67 扑克牌的顺子 从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。
* 2-10为数字本身,A为1,J为1
翟鸿燊老师语录
ccii
翟鸿燊
一、国学应用智慧TAT之亮剑精神A
1. 角色就是人格
就像你一回家的时候,你一进屋里面,你已经是儿子,是姑娘啦,给老爸老妈倒怀水吧,你还觉得你是老总呢?还拿派呢?就像今天一样,你们往这儿一坐,你们之间是什么,同学,是朋友。
还有下属最忌讳的就是领导向他询问情况的时候,什么我不知道,我不清楚,该你知道的你凭什么不知道
[光速与宇宙]进行光速飞行的一些问题
comsci
问题
在人类整体进入宇宙时代,即将开展深空宇宙探索之前,我有几个猜想想告诉大家
仅仅是猜想。。。未经官方证实
1:要在宇宙中进行光速飞行,必须首先获得宇宙中的航行通行证,而这个航行通行证并不是我们平常认为的那种带钢印的证书,是什么呢? 下面我来告诉
oracle undo解析
cwqcwqmax9
oracle
oracle undo解析2012-09-24 09:02:01 我来说两句 作者:虫师收藏 我要投稿
Undo是干嘛用的? &nb
java中各种集合的详细介绍
dashuaifu
java集合
一,java中各种集合的关系图 Collection 接口的接口 对象的集合 ├ List 子接口 &n
卸载windows服务的方法
dcj3sjt126com
windowsservice
卸载Windows服务的方法
在Windows中,有一类程序称为服务,在操作系统内核加载完成后就开始加载。这里程序往往运行在操作系统的底层,因此资源占用比较大、执行效率比较高,比较有代表性的就是杀毒软件。但是一旦因为特殊原因不能正确卸载这些程序了,其加载在Windows内的服务就不容易删除了。即便是删除注册表中的相 应项目,虽然不启动了,但是系统中仍然存在此项服务,只是没有加载而已。如果安装其他
Warning: The Copy Bundle Resources build phase contains this target's Info.plist
dcj3sjt126com
iosxcode
http://developer.apple.com/iphone/library/qa/qa2009/qa1649.html
Excerpt:
You are getting this warning because you probably added your Info.plist file to your Copy Bundle
2014之C++学习笔记(一)
Etwo
C++EtwoEtwoiterator迭代器
已经有很长一段时间没有写博客了,可能大家已经淡忘了Etwo这个人的存在,这一年多以来,本人从事了AS的相关开发工作,但最近一段时间,AS在天朝的没落,相信有很多码农也都清楚,现在的页游基本上达到饱和,手机上的游戏基本被unity3D与cocos占据,AS基本没有容身之处。so。。。最近我并不打算直接转型
js跨越获取数据问题记录
haifengwuch
jsonpjsonAjax
js的跨越问题,普通的ajax无法获取服务器返回的值。
第一种解决方案,通过getson,后台配合方式,实现。
Java后台代码:
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String ca
蓝色jQuery导航条
ini
JavaScripthtmljqueryWebhtml5
效果体验:http://keleyi.com/keleyi/phtml/jqtexiao/39.htmHTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jQuery鼠标悬停上下滑动导航条 - 柯乐义<
linux部署jdk,tomcat,mysql
kerryg
jdktomcatlinuxmysql
1、安装java环境jdk:
一般系统都会默认自带的JDK,但是不太好用,都会卸载了,然后重新安装。
1.1)、卸载:
(rpm -qa :查询已经安装哪些软件包;
rmp -q 软件包:查询指定包是否已
DOMContentLoaded VS onload VS onreadystatechange
mutongwu
jqueryjs
1. DOMContentLoaded 在页面html、script、style加载完毕即可触发,无需等待所有资源(image/iframe)加载完毕。(IE9+)
2. onload是最早支持的事件,要求所有资源加载完毕触发。
3. onreadystatechange 开始在IE引入,后来其它浏览器也有一定的实现。涉及以下 document , applet, embed, fra
sql批量插入数据
qifeifei
批量插入
hi,
自己在做工程的时候,遇到批量插入数据的数据修复场景。我的思路是在插入前准备一个临时表,临时表的整理就看当时的选择条件了,临时表就是要插入的数据集,最后再批量插入到数据库中。
WITH tempT AS (
SELECT
item_id AS combo_id,
item_id,
now() AS create_date
FROM
a
log4j打印日志文件 如何实现相对路径到 项目工程下
thinkfreer
Weblog4j应用服务器日志
最近为了实现统计一个网站的访问量,记录用户的登录信息,以方便站长实时了解自己网站的访问情况,选择了Apache 的log4j,但是在选择相对路径那块 卡主了,X度了好多方法(其实大多都是一样的内用,还一个字都不差的),都没有能解决问题,无奈搞了2天终于解决了,与大家分享一下
需求:
用户登录该网站时,把用户的登录名,ip,时间。统计到一个txt文档里,以方便其他系统调用此txt。项目名
linux下mysql-5.6.23.tar.gz安装与配置
笑我痴狂
mysqllinuxunix
1.卸载系统默认的mysql
[root@localhost ~]# rpm -qa | grep mysql
mysql-libs-5.1.66-2.el6_3.x86_64
mysql-devel-5.1.66-2.el6_3.x86_64
mysql-5.1.66-2.el6_3.x86_64
[root@localhost ~]# rpm -e mysql-libs-5.1