随笔分类 -  算法

1 2 下一页

学习的各种算法题
算法之递归
摘要:递归算法是一种直接或者间接调用自身函数或者方法的算法,也就是说在函数内部再次调用自己。简单点: 就是自己调用自己 这个算法的核心思想: 就是原问题,可以不断地分解成规模更小的子问题,但是子问题和原问题完全是同一种类型的问题。也就是说用解决子问题的方法,同样可以解决原问题。这样,我们就可以通过递归的形 阅读全文

posted @ 2023-12-23 14:49 新西兰程序员 阅读(22) 评论(0) 推荐(0) 编辑

[LeetCode138-链表-中等] 复制带有随机指针的链表
摘要:这道题是这样的,就是说有一个链表LindedNode, 通常我们链表包含2个属性,一个是它的值val,另一个是它指向的下一个结点nextNode, 但是这个题目中的链表还有一个属性,就是它还有个随机指针,这个随机指针可能指向链表中的任意结点(包括链表的结尾null结点,或者是自己) 也就是说这个链表 阅读全文

posted @ 2023-12-17 12:39 新西兰程序员 阅读(4) 评论(0) 推荐(0) 编辑

[LeetCode21-链表-简单] 合并2个有序列表
摘要:这个题目是这样的,就是说有两个链表,这两个链表按照非递减的顺序排列, 我们要把这两个升序的链表合并,返回一个新的升序链表,新链表要求拼接给定的2个链表的所有结点,也就是说如果有重复的结点,也要全部返回列在新链表中 1->2->4 1->3->5 =》 返回的是 1->1->2->3->4->5 首先 阅读全文

posted @ 2023-12-15 09:55 新西兰程序员 阅读(4) 评论(0) 推荐(0) 编辑

[LeetCode19-链表-中等] 删除链表的倒数第N个节点
摘要:这道题也是关于链表的题目,题目原意是这样的,给你一个链表,删除这个链表的倒数第n个结点,并返回头结点(也就是其余的结点组成的新链表) 比如 1->3->5->7->9 n =2 也就是删除倒数第2个结点,值为7的结点。返回头结点为 1->3->5->9 关于链表的算法题,首先我们要知道链表解题经典三 阅读全文

posted @ 2023-12-10 23:09 新西兰程序员 阅读(13) 评论(0) 推荐(0) 编辑

【LeetCode-中等-链表】两数相加
摘要:这是个关于链表的题目, 以前在C#中写代码时,对链表接触比较少,所以刚好接这个题目来更好的熟悉一下链表 题目大概是这样的,给你两个非空的链表,表示两个非负的整数. 它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字 =》 首先我们来理解这句话是什么意思 我们来看一个链表 1->5-> 阅读全文

posted @ 2023-12-07 20:44 新西兰程序员 阅读(21) 评论(0) 推荐(0) 编辑

【LeetCode-滑动窗口-中等】无重复字符的最长字符串
摘要:这道题是这样的,在一个给定的字符串中,要求你来找到不含有重复字符的最长子串的长度 比如 str = "abcabcbb" 没有重复字符的最长子串是 abc 所以长度为3 又比如 str = "abpwkewba" 没有重复字符的最长子串是 abpwke 所以长度为6 这个题目的解答,涉及到算法中的滑 阅读全文

posted @ 2023-12-06 20:06 新西兰程序员 阅读(18) 评论(0) 推荐(0) 编辑

[LeetCode-中等-排序和双指针] 找出数组中三数之和满足特定条件的三个数
摘要:之前,我做了一道简单的LettCode题,二数之和 https://www.cnblogs.com/wphl-27/p/17861539.html, 用的是数组和Map来实现的 现在这个题目是三数之和,题目是这样的 给定一个整数数组 intArr, 判断是否存在三元组 [intArr[i],intA 阅读全文

posted @ 2023-12-04 17:46 新西兰程序员 阅读(11) 评论(0) 推荐(0) 编辑

[LettCode-中等] 字母异位词分组
摘要:这是一道中等难度题,首先我们来了解一下,什么是字母异位词 =》 由重新排列源单词的所有字母得到一个新单词 字母异位词 =》 它是这个意思,比如说一个字符串由3个字符abc组成, 就是"abc",现在我把组成这个字符串的字母顺序随意调换,比如变成 "bac","bca","cab"等, 这几个词就是字 阅读全文

posted @ 2023-11-29 18:13 新西兰程序员 阅读(8) 评论(0) 推荐(0) 编辑

[LettCode-Map和数组-简单] 找到数组中和为目标值的两个数
摘要:给定一个整数数组 intArr, 还有一个目标值 targetValue, 需要在这个数组intArr中找出和为目标值targetValue的两个整数,并返回它们的数组下标 example: intArr = [2,7,11,15], target = 9, 显然两个值是2和7,它们的数组下标为0, 阅读全文

posted @ 2023-11-28 11:38 新西兰程序员 阅读(20) 评论(0) 推荐(0) 编辑

【算法】汉诺塔算法 Hanoi Tower ---分治算法
摘要:分治算法 是算法中一种很重要的思想,顾名思义,就是指 "分而治之", 就是说把一个非常复杂的问题分解成两个或更多的相同或者相似的子问题,再把子问题分解成更小的子问题,直到最小的子问题能马上求解 汉诺塔 Hanoi Tower 就是分治算法的一种典型应用 Hanoi Tower是算法题中一个经典,它源 阅读全文

posted @ 2023-02-24 16:01 新西兰程序员 阅读(137) 评论(0) 推荐(0) 编辑

【算法】二分查找算法 binarySearch (非递归)
摘要:概念: 二分查找算法只适合从一个有序序列(如果一个列表不是有序序列,我们可以先把它排序成有序序列)中进行查找某个值, 比如有序的数字序列或者字母序列. 注意: 二分查找运行的时间复杂度为 O(log2N) 二分查找法(非递归) 的思路: 在一个有序序列arr中查找目标值targetValue, 二分 阅读全文

posted @ 2023-02-24 15:27 新西兰程序员 阅读(40) 评论(0) 推荐(0) 编辑

【算法题】计算路上往东西两个方向互相passing的车辆个数
摘要:这个是Codility上利用prefix sum进行计算的一道等级为easy的题目,具体题目如下 说是有一个整形数组int[] A,数组包含N个元素,这个数组元素的值,只有2种,一是0,二是1 A[i] = 0 => 代表第i+1辆车往西开 A[i] = 1 => 代表第i+1辆车往东开 我们现在假 阅读全文

posted @ 2023-02-19 16:02 新西兰程序员 阅读(22) 评论(0) 推荐(0) 编辑

【算法】数组的前缀和 Prefix Sum
摘要:算法中有前缀和这样一种很好的数据结构,它能极大地降低区间查询的时间复杂度 => Prefix sum常常用于求subarray的题目,或则是一些连续的值的和 前缀和 - Prefix Sum 它是这样的,假如有这样一个数组(序列), A = [a1, a2, a3, a4, a5, a6, a7, 阅读全文

posted @ 2023-02-19 14:18 新西兰程序员 阅读(267) 评论(0) 推荐(0) 编辑

【算法题】获取一个数组中没有出现的最小正整数
摘要:有一道算法题是这样的,给出一个整形数组(包括正整数或者负整数),我们需要找出这个整形数组中没有出现的最小的整数, 题目如下 给一个整形数组int[] A, 要求返回数组A中没有出现的最小正整数比如 数组 A = [1, 3, 6, 4, 2, 1] 应该返回5A = [1,2] 应该返回3A = [ 阅读全文

posted @ 2023-02-17 14:27 新西兰程序员 阅读(93) 评论(0) 推荐(0) 编辑

【算法题】根据另一个数组的值来修改计算器数组的值
摘要:这个也是Codility上面的一个算法题 是说有一个计算器数组int[N] countArray, 数组A中包括N个元素, 初始化值都为0也就是说 countArray = [0,0,0,0.....O]现在对这个数组有2种操作:Operation 1: increase(X) 代表数计数器组cou 阅读全文

posted @ 2023-02-17 11:20 新西兰程序员 阅读(23) 评论(0) 推荐(0) 编辑

【算法题】桃花顺检验 PermCheck - Check whether one array is a permutation
摘要:这也是常见的一个算法题,是在Codility上出现的,英文原文如下: A non-empty array A consisting of N integers is given. A permutation is a sequence containing each element from 1 t 阅读全文

posted @ 2023-02-16 17:04 新西兰程序员 阅读(23) 评论(0) 推荐(0) 编辑

【算法】青蛙从河边跳到对岸,河中需要依次落满树叶
摘要:Codility中有这样一个算法题,是说一只青蛙从河边(position = 0) 跳到河的对面去 (position: x + 1), 河边有棵树,会在不同的时间点(以秒计算)落下树叶在河面上,我们需要保证河面上从position=1到position=x的位置全部落满了树叶时(在某一个时间点 t 阅读全文

posted @ 2023-02-16 16:46 新西兰程序员 阅读(73) 评论(0) 推荐(0) 编辑

【算法题】找出整形数组中最小的差距
摘要:有一道算法题是这样的,有一个非空整形数组,包含N个整数, 也就是数组A[N]包括N个元素 => A[0], A[1], A[2], A[3],A[4]....A[N-1] 现在有一个0-N之间的中间数 (0 < P < N), 把这个整形数组分为2部分, 这2部分分别是 A[0], A[1], A[ 阅读全文

posted @ 2023-02-16 15:23 新西兰程序员 阅读(30) 评论(0) 推荐(0) 编辑

【算法】数学中的斐波那契数列
摘要:数学中有一种数列称为 斐波那契数列(Fibonacci sequence), 又称为 黄金分割数列, 因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数 阅读全文

posted @ 2023-02-16 10:01 新西兰程序员 阅读(138) 评论(0) 推荐(0) 编辑

【算法题--异或操作】找出数组中唯一没有重复的那个元素
摘要:在我的博客上有一篇博文是提到C#里面的异或操作 https://www.cnblogs.com/wphl-27/p/17104240.html 有一个算法题是需要用到C#中的异或操作的,这道算法题就是获取一个数组中唯一没有重复的那个元素 比如有这么一个数组,数组长度为7,这7个元素分别为 A[0] 阅读全文

posted @ 2023-02-15 15:47 新西兰程序员 阅读(64) 评论(0) 推荐(0) 编辑

1 2 下一页
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示