02 2023 档案

【算法】汉诺塔算法 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 新西兰程序员 阅读(22) 评论(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#中的左移<<和右移>>运算符
摘要:C#中的左移 << M<<N => 将第一个操作数M向左移动第二个操作数N指定的位数(N位), 空出的位置补0 => 左移相当于乘法, 左移1位相当于乘以2, 左移2位相当于乘以4, 左移3位相当于乘以8 x<<1 = x * 2 x<<2 = x * 4 x<<3 = x * 8 x<<4 = x 阅读全文

posted @ 2023-02-15 16:12 新西兰程序员 阅读(383) 评论(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) 编辑

【算法题】整形数组向右移动位置的题目
摘要:有个算法题是这样,有一个有M个元素的整形数组,数组元素一个一个的往右边平移, 往右平移N次, 返回平移后的数组 比如 数组A [1,2,3,4,5] M =5, 数组元素往右平移一位(一次) N= 1 => 平移后的数组是 [5,1,2,3,4] 平移2次,N =2 => 平移2次后的数组是 [4, 阅读全文

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

[算法题] 获取一个二进制数据中最大的binary gap
摘要:有一个算法题是这样的,有一个整数N, 把它转换为二进制后,我们要获取它的二进制数据中,最大的连续0的个数 比如 N =1041 对应二进制为 10000010001 => 在第一个1和第二个1之间,有5个连续的0; 在第二个1和第三个1之间,有3个连续的0 => 所以最大的连续是 5 比如 N = 阅读全文

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

C#中二进制和十进制之间的转换
摘要:代码开发中,用二进制的情况很少,最近看一个算法题,涉及到二进制,特记录一下C#中二进制和十进制的转换方法 C#中所有的二进制数都是以字符串表示 (显然,十进制是以整数表示) ,比如二进制数据 11011111, 应该表示为字符串 "11011111" 1. 十进制转换为二进制 比如,把十进制整数22 阅读全文

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

C#中的异或操作
摘要:在看一个算法题时,看到异或这种操作,平时在项目开发中在代码中用的很少,于是特意看了一下,总结如下: 异或 在英文中是 Exclusive OR, 缩写成 xor. 在C#中用^来表示异或运算符, 这个运算符主要是用来进行二进制比较 异或对二进制数据进行比较,对二进制中的每一位进行比较,如果相同,结果 阅读全文

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

[算法题] 找出数组中唯一出现2次的数
摘要:这个好像是微软的面试题,题目是这样的: 假设你有一个用1001个整数组成的数组,这些整数是任意排列的,但是你知道所有的整数都在1到1000(包括1000)之间。此外,除一个数字出现两次外,其他所有数字只出现一次。假设你只能对这个数组做一次处理,用一种算法找出重复的那个数字。 也就是说有一个整形数组, 阅读全文

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

【算法题】 判断长度为N的数组中是否有重复数据
摘要:有一个算法题是这样的,有一个长度为n的整形数组, 这个数组中每个元素的取值范围都是[0,n-1], 我们要判断这个数组中是否有重复的数,如果有,找出这个数组中任意一个重复的数字 比如 数组 {2,3,1,0,3,7,2} => 对应输出的数字应该是2或者3 , 你找到其中一个就可以 这个算法题的解题 阅读全文

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

< 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

统计

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