程序算法
文章平均质量分 52
nswe
一直从事 B/S架构的程序设计,熟悉sns及电子商务平台,熟悉lamp开发平台。
展开
-
javascript笛卡尔积商品规格生成
@param var specObj {"规格名1":["规格值A","规格值B"],"规格名2":["规格值W","规格值N"]...}* @note 多维数组依次去匹配(利用层次关系,0索引数组遍历后 -> 1索引数组再遍历依次递增)* @return [{"规格名1":"规格值1"},{"规格名2":"规格值2"}...]//之前子集都要置空。* 根据Array生成笛卡尔积。原创 2023-11-14 20:58:33 · 116 阅读 · 1 评论 -
猫吃老鼠算法
曾经一道面试题,大概意思是:有一只很强大的猫咪,喜欢把抓来的n只老鼠们排成一个队列,然后设一个步长值k,先吃掉第一只后,再每隔k只再吃,吃完一轮后再按上面规则重新开始下一轮,直到剩下最后一只老鼠为止,猫咪为了保持生态平衡就放了这只老鼠~ 有只老鼠很聪明,他能很准确的计算出最后放生的位置,请用程序写出来。例如:n=10,k=1时,8号位置的老鼠是存活的;n=6,k=1时,4号存活。n原创 2011-11-22 17:35:09 · 1273 阅读 · 0 评论 -
数字的最优组合算法
关于数字的最优组合的算法,记得上学时数学考试还有过这么一道题目~比如:顾客去商店买东西,前台结账时应付总额为31元,顾客拿出一张百元大钞,此时店员应找69元,求最优的找钱方案。找钱的方案可以为:6*10元+5元+4*1元 或者 50元+10元+5元+2元+2元等等,此算法可以直接获取最优结果。 /** * @brief 最优找钱方案 * @author chendeshan原创 2011-11-22 16:07:47 · 4660 阅读 · 0 评论 -
A*智能寻路算法(php版本)
A*被誉为大众级寻路算法,常用于获取两个坐标的最短路径,属于AI(人工智能)范畴,最近自己开发了一套php版本的A*寻路算法类,想要直接使用的朋友可以借鉴下。可以在我的空间里面看具体的调用部分,类库我会尽快上传。 先说下A*的算法思路吧,首先,要有一个地图,其实寻路就是在一块块的方格子里面的中心点间进行移动,地图的话我这里用的是一个二位数组矩阵(如图):这就是一张简单原创 2012-11-02 21:03:54 · 2581 阅读 · 0 评论 -
整数反序成数组
<?php /** * 将一个整数逆序后存入数组,不能用递归,不能用系统函数 * 算法思路:取余运算可以获取最后一位的数据,除10可以去掉最后一位的数据。 * 就是通过取余和除10从后向前进行遍历 * @author nswe */ /** * 数字反序处理 * @param int $sourceInt 原整数 * @retu原创 2012-12-04 15:59:09 · 490 阅读 · 0 评论 -
反序链表
<?php/** * 反转一个单向链表 * 算法思路:通过循环遍历链表,重置next索引的指向,让其指向的位置颠倒 * @author nswe */ /** * 单向链表数据结构 */class LinkNode { //值域 public $value; //下个节点的指针 public $n原创 2012-12-04 15:54:44 · 513 阅读 · 0 评论 -
任取字符的组合
<?php /** * 任取N个不同单字节字符的所有组合,把组合结果存放到数组中,不用系统函数 * 算法思路:其实就是排列组合的数学原理。这里把字符进行逐个追加产生不同的组合, * 而新加入的字符又是在之前组合的基础上再次组合而成. * @author nswe */ /** * 混合串处理 * @param string $sou原创 2012-12-04 15:57:31 · 375 阅读 · 0 评论 -
javascript 笛卡尔积算法(直积算法)
//笛卡儿积组合function descartes(list){ //parent上一级索引;count指针计数 var point = {}; var result = []; var pIndex = null; var tempCount = 0; var temp = []; //根据参数列生成指针对象 for(var index in list) {原创 2013-03-30 23:11:45 · 1884 阅读 · 0 评论