自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

happyS

  • 博客(16)
  • 收藏
  • 关注

原创 所有值

可以看到,在上述算法中,最为核心的地方在于将问题从一个小生成大的问题转换为一个大生成小的问题。 而具体的实现方式上,上述思路采用的是大拆小的模型,将目标范围通过因式分解的方式拆分为若干个概率相同且可以被当前随机数生成覆盖的子范围,从而进行求解。 但是上述方法受限于拆分过程必须是拆分为等概率的几个子范围,即是说必须是因式分解可分的,但是如果目标范围是一个质数或者因子中存在一个数大于当前的随机数生成器,上述思路就会失效。 不过,我们可以将上述拆分的思路反着来,不是缩减目标范围,而是将当前随机数生成器进行等比例放

2021-01-03 09:56:31 670

原创 算法分析

可以看到,整体而言,每一次随机数生成所需要调用的rand7()的期望次数为 7 / 6 + 7 / 5 ≃ 2.57 7/6+7/5\simeq 2.57 7/6+7/5≃2.57。 但是上述算法的限制也十分的明显,需要目标范围可以进行因式分解为两个小数的乘积,否则就无法原模原样地照抄上述的算法,比如rand11(),就无法采用分解的方式进行求解。 但是,这个问题也不是无解,上述相同的思路只要稍作调整,我们还是可以进行求解的。 ...

2021-01-03 09:55:11 71

原创 代码实现

给出python代码实现如下: def rand2(): while True: seed = rand7() if seed != 7: return seed % 2 + 1 def rand10(): return 5 * (rand2()-1) + rand5()

2021-01-03 09:54:14 97

原创 see

显然,如此一来一个1到5的随机数生成器就完成了,当然,效率上会略有损失,每一个随机数的生成所需要的rand7()的期望运行次数为1.4次,当时整体而言,这个值都不会高于2,因此,事实上大生成小的问题总是简单的。 那么,针对小生成大的问题,事实上也同样可以尝试将其拆解为大生成小的问题进行解决。 一种比较简单的思路就是,由于 10 = 2 × 5 10 = 2 \times 5 10=2×5,因此,我们可以使用rand7()构造两个rand5()生成器,然后合并成一个rand10()生成器。 ...

2021-01-03 09:53:16 64

原创 leetcode

随机数生成这个经典算法题我相信大部分人都知道,尤其刷过leetcode或者有过面试经历的,无非就是给定一个随机数生成器,然后取生成另一个范围内的随机数。 一个典型的例子就是使用rand7生成rand10。 因此,这里,我们就以rand7生成rand10为例进行讨论,考察一下有哪些实现思路,并对其进行一定的拓展延伸。 ...

2021-01-03 09:52:01 41

原创 tkinter

tkinter库的那篇博客(python笔记:可视化界面写作尝试)真的是写的我心力憔悴啊,其实东西并不难,就是多,然后一开始又没有找到比较靠谱的官方文档,搞得我没写一个组件的应用就得去看源码,然后自己写代码尝试,搞得累的半死。 唉,所以这里就休息一下,再写上一篇小文章休息一下好了,也算是劳逸结合了。 所以,这里,就让我们来看一下另外一道经典的算法题:随机数生成问题好了。 ...

2021-01-03 09:50:40 37

原创 vite

什么是vite Vite,一个基于浏览器原生 ES imports 的开发服务器。利用浏览器去解析 imports,在服务器端按需编译返回,完全跳过了打包这个概念,服务器随起随用,支持热更新,而且热更新的速度不会随着模块增多而变慢。针对生产环境则可以把同一份代码用 rollup 打包 vite的天然优势: 快速冷启动服务器 即时热模块更换(HMR) 真正的按需编译 ...

2020-12-31 11:40:44 158

原创 click

圆点设置,点击圆点,切换相应图片 第三步 $("#banner_yuandian>li").on("click",function(){ //点击圆点时的下标取共同下标 var index=$(this).index();//出错的地方index()语法 //点击下标时展现对应的图片,其他兄弟图隐藏 $("#banner_img>li").eq(index).show(1000).siblings().hide(1000)

2020-12-31 11:16:20 125

原创 index

设置图片,圆点,箭头共同的下标 从0开始 var index=0; //封装轮播的函数 第一步 function show(){ //下标每次+1增加 index+=1; //如果下标大于等于图片的长度数,返回第一张图,即是下标index=0就行 if(index>=$("#banner_img>li").length){ index=0; } ..

2020-12-31 11:14:38 293

原创 show()

下一张 可以直接调用 $("#banner_next").on("click",function(){ show(); }) //点击button按钮再次清除计时器和添加计时器 $("button").hover( function(){ clearInterval(x); }, function(){ x=setInterval(show,2000); ...

2020-12-31 11:13:38 368

原创 banner

第一步:先引进jquery文件 第二步:html样式 ...

2020-12-31 11:12:21 49

原创 function()

然后,把前端代码的请求地址修改一下,此时前端访问的就不再是node的服务了,而是要访问nginx, 然后通过nginx做响应的转发 // 给button添加点击事件 $(‘button’).click(function(){ $.ajax({ url:‘http://localhost:8000/user/find’, success:function®{ console.log® }, error:function(e){ console.log(e) } }) ...

2020-12-31 11:09:21 53

原创 listen

注意, listen那里不要使用node服务的3000,之前我是想着直接监听node的服务端口,应该是可以的,可是这样会占用3000接口,导致node服务启动不了 上面代码的意思是,把访问localhost:8000 转换成访问 localhost:5500,而访问localhost:8000/user… 则转换成localhost:3000/user 配置完成之后需要在终端中,使用 nginx -s reload 更新我们的配置 启动nginx的命令是 start nginx ...

2020-12-31 11:06:21 62

原创 node

然后开启node服务 这个时候,如果打开页面访问接口,会出现跨域报错,如下图所示: 注意,打开文件的时候一定要在服务中打开,不要使用绝对路径打开接着就是配置nginx文件,解决这个跨域问题 反向代理的意思就是把前端的地址和后端的地址 使用nginx转换到相同的地址下,如把上面的node服务3000端口 和 网页打开的服务5500端口都转换到 nginx的8000端口下 ...

2020-12-31 11:04:46 99

原创 let

使用前,需要安装express npm install express let express = require(‘express’) // 创建应用 let app = express() // get请求 app.get(’/user/find’,(req,res)=>{ res.send(‘hello’) }) // 启动服务,监听端口 app.listen(3000,()=>{ console.log(‘启动成功…’) ...

2020-12-31 11:03:09 56

原创 nginx

在我们前端开发的过程中, 相信大家都遇到过一个让人头疼的问题,那就是跨域问题. 跨域解决的方式有很多,这里主要讲的是如何来用 nginx来解决我们所遇到的跨域问题在我们开始之前,首先要知道跨域是如何产生的 ...

2020-12-31 11:02:21 32

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除