
数据结构与算法
larance
phper java python 找工作了 18600756313
展开
-
leetCode 1. 两数之和
题目:给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。题解//Hash 表法class Solution { /** * @param Integer[] $nums * @param Integer $target * @return In...原创 2021-11-17 16:46:44 · 104 阅读 · 0 评论 -
leetCode 278. 第一个错误的版本
题目你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用bool isBadVersion(version)接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数/* The isBa..原创 2021-11-10 10:49:58 · 106 阅读 · 0 评论 -
LeetCode704 二分查找
题目:给定一个n个元素有序的(升序)整型数组nums 和一个目标值target ,写一个函数搜索nums中的 target,如果目标值存在返回下标,否则返回 -1。class Solution { /** * @param Integer[] $nums * @param Integer $target * @return Integer */ function search($nums, $target) { ...原创 2021-11-08 23:42:56 · 98 阅读 · 0 评论 -
PHP实现堆排序
经验工作了,面试我工作这家公司时被技术面打击得不行,因为自己的数据结构等基础学得实在太差,虽然原来是想做设计师的说。。。不过看在PHP写得还凑合的份上能来实习了,但还是决心恶补一下基础。 其实自己之前也确实感觉到了基础的重要性,一些比较深的东西都比较底层,不学好根本没法进行。像我之前用PHP做websocket,就牵扯到数据包、数据帧等概念,搞不清楚,连数据都没法处理,还得后来补。所以我准备重新学一下数据结构,算法,网络等基础知识,也在此跟大家提个醒,别像我一样走反了方向,甚至到明白过来就已经晚了。转载 2021-05-14 22:28:47 · 374 阅读 · 0 评论 -
有关搜索方式模板
DFS代码- 递归写法visited = set()def dfs(node, visited): #terminator if node in visited: #already visited return visited.add(node) #process current ... for next_node in node.children(): if not next_node in v...原创 2020-09-16 14:16:35 · 134 阅读 · 0 评论 -
算法分治和动态规划模板
分而治之分治代码模板def divide_conquer(problem,param1,param2,....): #recursion terminator if problem is None: print_result return #process data data = prepare_data(problem) subproblems = splite_problem(problem,data) #con原创 2020-09-16 09:11:35 · 128 阅读 · 0 评论 -
关于递归的思路
递归 Python 代码模板def recursion(level,param1,param2,...): # recursion terminator 递归终结条件 if level >MAX_LEVEL: process_result return #process login in current level 处理当前层逻辑 process(level,data,...) #drill down 下探到下一层 s.原创 2020-09-14 08:47:05 · 534 阅读 · 0 评论 -
php 二叉树以及N叉树递归遍历模版
/** * Definition for a binary tree node. * class TreeNode { * public $val = null; * public $left = null; * public $right = null; * function __construct($value) { $this->val = $value; } * } */function preorderTraversal($root) {.原创 2020-09-13 22:14:05 · 208 阅读 · 0 评论 -
php四种基础算法:冒泡,选择,插入和快速排序法以及复杂度
$arr=array(1,43,54,62,21,66,32,78,36,76,39); function getpao($arr){ $len=count($arr); //设置一个空数组 用来接收冒出来的泡 //该层循环控制 需要冒泡的轮数 for($i=1;$i<$len;$i++) { //该层循环用来控制每轮 冒出一个数 需要比较的次数 for($k原创 2016-06-18 15:22:50 · 611 阅读 · 0 评论 -
数据结构算法书籍推荐(转贴)
如果计算机系只开三门课,那么这三门课就一定是:离散数学,数据结构与算法,编译原理。如果只开一门课,那剩下的就一定是:数据结构与算法。Niklaus Wirth说:算法+数据结构=程序,不说废话了,下面列出一份数据结构算法书目,先从最著名的说起A原书名:The Ar转载 2011-09-25 23:13:31 · 3440 阅读 · 0 评论 -
php二分查找法
<br />【二分查找要求】:1.必须采用顺序存储结构 2.必须按关键字大小有序排列。<br />【优缺点】折半查找法的优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。<br />【算法思想】首先,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。<br />重复以上过转载 2011-04-14 10:11:00 · 504 阅读 · 0 评论