给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 思路:使用双指针i, j,i…
标签:算法
图论--最短路--bellman-ford 算法
图论最短路–bellman ford 算法 ** 单源最短路,能判负环。** #include <iostream> #include <cstdio> #include <algorith…
大量URL去重
[size=medium]问题: [i]有大量的字符串格式的URL,如何从中去除重复的,优化时间空间复杂度[/i] 我的思路, 1. 将URL存入hash链表,[b]每个URL读入到hash链表中[/b],遇到重复的就舍…
一道算法题——从数据流中随机去m个数
题目:有一个很大很大的输入流,大到没有存储器可以将其存储下来,且只输入一次,如何从这个输入流中随机取得m个记录。 我的思路: 首先,存储开始的m条记录,存放于数组result[m]中; 然后,假设有n条记录,每一次读取记…
Leetcode题解之链表(4) 合并两个有序链表
题目:https://leetcode-cn.com/explore/interview/card/top-interview-questions-easy/6/linked-list/44/ 题目描述: 将两个有序链表…
洛谷P1057 传球游戏(dp)
P1057 传球游戏 题解: d p [ i ] [ j ] = d p [ i + 1 ] [ j − 1 ] + d p [ i − 1 ] [ j − 1 ] dp[i][j] = dp[i + 1][j R…
PTA J
PTA Judge The ranklist of PAT is generated from the status list, which shows the scores of the submissions. Th…
[算法天天见](五)跳跃链表
跳跃链表 一、概述 二、算法 一、概述 跳表实际上是链表的一种扩展,它解决的是链表的查找速度问题。由于它是链表的扩展,所以他底层维护的本质还是一个有序链表。他的复杂度取决于什么样的node插入到最高哪层中。在插入的时候下…
栈---有效的括号
题目 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串…
Leetcode题解之字符串(5) 验证回文字符串
题目:https://leetcode-cn.com/explore/interview/card/top-interview-questions-easy/5/strings/36/ 题目描述 : 给定一个字符串,验证…
PHP排序算法
1、冒泡排序 /** * 冒泡排序 * 先找出最大的放在最后面 * * @param $arr * * @return mixed */ function bubbleSort($arr) { $length = cou…
算法,排序,最全
一、算法概念 1、Algorithm:一个计算的过程,解决问题的方法 汉诺塔问题 def hanoi(n, a, b, c): if n > 0: hanoi(n-1, a, c, b) asd = '从%s到%s…