订单编号,递增且不连续(php版)

1、实现方式,使用while循环,比较low,200w条数据 2s

public function getMany ($startNum, $count)
{$num = $startNum;$codes[] = $startNum;for($i=1;$i<=$count;$i++){$num1 = random_int(1,9);while($num == $num1) {$num1 = random_int(1,9);}$num = $num1;$startNum += $num;$codes[] = $startNum;}return $codes;
}

2、实现方式,使用递归,把random_int替换成mt_rand,200w数据0.9s

public function getManys ($num, $count)
{$codes = [];$startNum = 0;for($i = 1;$i <= $count; $i++){$num = $this->getNotRepeatNum($num, mt_rand(1, 9));$startNum += $num;$codes[] = $startNum;}return $codes;
}public function getNotRepeatNum($startNum, $endNum)
{if($startNum == $endNum) {return $this->getNotRepeatNum($startNum, mt_rand(1, 9));}return $endNum;
}

3、实现方式,上次使用的数据下次不使用,把random_int替换成mt_rand,200w数据0.7s

public function getManys ($startNum, $count)
{$codes = [];$num = [1,2,3,4,5,6,7,8,9];$lastNum = 0;for($i=1;$i<=$count;$i++){if($lastNum == 0) {$startNum += $num[mt_rand(0, 8)];} else {$diff = array_diff($num, [$lastNum]);$startNum += $diff[mt_rand(0, 7)];}$codes[] = $startNum;}return $codes;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/450550.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文搞懂:词法作用域、动态作用域、回调函数、闭包

把以前一直只限于知道&#xff0c;却不清晰理解的这几个概念完完整整地梳理了一番。内容参考自wiki页面&#xff0c;然后加上自己一些理解。 词法作用域和动态作用域 不管什么语言&#xff0c;我们总要学习作用域(或生命周期)的概念&#xff0c;比如常见的称呼&#xff1a;全局…

C语言函数指针

一、函数指针的定义 顾名思义&#xff0c;函数指针就是函数的指针。它是一个指针&#xff0c;指向一个函数。看例子&#xff1a;A)char * (*fun1)(char * p1,char * p2);B)char * *fun2(char * p1,char * p2);C)char * fun3(char * p1,char * p2);看看上面三个表达式分别是什么…

程序员进阶之算法练习:LeetCode专场

欢迎大家前往腾讯云社区&#xff0c;获取更多腾讯海量技术实践干货哦~ 本文由落影发表 前言 LeetCode上的题目是大公司面试常见的算法题&#xff0c;今天的目标是拿下5道算法题&#xff1a; 题目1是基于链表的大数加法&#xff0c;既考察基本数据结构的了解&#xff0c;又考察在…

vim 安装vim-prettier

1、在.vimrc中添加 配置没有安装成功的话 git clone https://github.com/prettier/vim-prettier Plug prettier/vim-prettier, { do: yarn install, for: [javascript, typescript, css, less, scss, json, graphql, markdown, vue, yaml, html, php] } let g:prettier#aut…

详解Mysql中的JSON系列操作函数

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 一、方法罗列&#xff1a; 分类 函数 描述创建jsonjson_array 创建json数组json_object 创建json对象 json_quote 将json转成json字符串…

WEB/H5性能优化总结

我们今天来说说前端图形渲染优化&#xff0c;因为我接下来的时间可能要开始研究webgl方面的东西&#xff0c;所以就在这里把之前做过的H5做一个总结&#xff0c;现同步发布于GERRY_BLOG&#xff0c;TiMiGerry-知乎&#xff0c;转载请保留链接。静态资源-图片 一 、图片格式JPEG…

C语言数组参数与指针参数

我们都知道参数分为形参和实参。形参是指声明或定义函数时的参数&#xff0c;而实参是在调用函数时主调函数传递过来的实际值。 一、一维数组参数 1、能否向函数传递一个数组&#xff1f;看例子&#xff1a;void fun(char a[10]){char c a[3];}intmain(){char b[10] “abcd…

maven文件结构

pom.xml 用于maven的配置文件 /src 源代码目录 /src/main 工程源代码目录 /src/main/java 工程java源代码目录 /src/main/resource 工程的资源目录 /src/test 单元测试目录 /src/test/java /target 输出目录&#xff0c;所有的输出都存放在这个目录下 /target/classes 编译之…

php如何使用高阶函数

1、首先学会数组转集合的方式 &#xff08;1&#xff09;使用collect函数 $arr [1, 2, 3, 4, 5]; $collect collect($arr); &#xff08;2&#xff09;使用array_map函数 $arr [1, 2, 3, 4, 5]; $collect array_map(function($item){ return $item *…

Git 使用,命令说明

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. D:\ChengXu\git\Git中双击Git Bash启动git窗口。 2. 这条不能放到博客&#xff0c;是我的账号密码。 3. 添加&#xff1a; git add …

2017ACM/ICPC亚洲区沈阳站 C Hdu-6219 Empty Convex Polygons 计算几何 最大空凸包

题面 题意:给你一堆点,求一个最大面积的空凸包,里面没有点. 题解:红书板子,照抄完事,因为题目给的都是整点,所以最后答案一定是.5或者.0结尾,不用对答案多做处理 1 #include<bits/stdc.h>2 #define N 553 using namespace std;4 struct rec5 {6 double x,y;7 };8 rec…

python读xml文件

# -*- coding:utf-8 -*- import jsonimport requestsimport oscurpathos.path.dirname(os.path.realpath(__file__))xmlpathos.path.join(curpath,read1.xml)with open(xmlpath,encoding"utf-8") as fp: bodyfp.read() print(body)转载于:https://www.cnblogs.…

C语言数组应用

一、数组的内存布局 先看下面的例子&#xff1a;int a[5];所有人都明白这里定义了一个数组&#xff0c;其包含了5 个int 型的数据。我们可以用a[0],a[1]等来访问数组里面的每一个元素&#xff0c;那么这些元素的名字就是a[0],a[1]…吗&#xff1f;看下面的示意图&#xff1a; 如…

Installation failed, deleting ./composer.json.安装phpunit报错解决方案

是因为你没有装全局的phpunit&#xff0c;安装命令 composer global require phpunit/phpunit 之后你输入 composer require --dev phpunit/phpunit 就发现你安装成功了

MyBatis在Oracle中插入数据并返回主键的问题解决

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 前言&#xff1a;我早期用过这个方法&#xff0c;但是返回的依旧是影响行数&#xff0c;不是主键。 只是这种写法可以达到我要的效果&a…

在 Intellij IDEA 里使用 OpenJFX (JavaFX)

2019独角兽企业重金招聘Python工程师标准>>> JDK 11 把 JavaFX 剥离了出来&#xff0c;形成了单独且开源的 OpenJFX 模块。 本文的目的是通过简单的例子解释这一变化对使用 JavaFX 所造成的影响&#xff0c;并找到一种在 IDEA 2018.2 上使用它的办法。 首先&#xf…

使用phpunit新建项目

1、mkdir test-project 新建一个test-project 2、cd test-project 跑到文件夹中 3、实例化git git init 4、新建phpunit项目 composer require --dev phpunit/phpunit 5、使用gi实例化.gitignore gi composer>.gitignore (如果没有安装gi&#xff0c;请使用命令ec…

如何解决eclipse里面tomcat 8080端口被占用

很多时候运行tomcat 的时候总是会提示tomcat 的端口被占用 但是任务管理器里面还找不到是哪个端口被占用了 因此很多人就重新配置tomcat 或者去修改tomcat的端口号 &#xff0c;其实这么做太麻烦了 &#xff0c;小弟在这里告诉你一个非常简单的方法。 1.在开始菜单中选择运行 …

Selenium UI 举例 getCssValue

selenium jar包中&#xff0c;在WebElement的接口中&#xff0c; String getCssValue(String var1);可以通过标签&#xff0c;获取对应的css值。具体要怎么用呢&#xff0c;如下&#xff1a; WebElement baidu driver.findElement(By.id("su"));su.getCssValue(&quo…

java集合框架中contains(),containsKey()和containsValue()的用法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 java集合框架中contains(),containsKey()和containsValue()的用法&#xff1a; List集合的contains()方法用于判断集合中包不包含某个元…