【算法世界】
小白程序员算法之路的起起落落,愿分享与一起学习的朋友。
暂7师师长常乃超
鄙人不善于奔跑。
展开
-
【算法世界】(八)找出数组中的两个数,使得二者之和为特定值target
上午无意间看到微信群里有朋友在发算法面试题,我就看了看,中午吃完饭也思考了一下,做个总结。题目 如上图所示,这位朋友面试的应该是一家不在北美之内的公司,哈哈。(return indices,indices是index的复数形式,盛行于除北美国家以外的英语里,而indexes在美国、加拿大等国的英语里) Example: Given nums = [2, 7,原创 2017-09-26 15:11:59 · 1943 阅读 · 6 评论 -
【算法】我拿走了哪个数?
有一道非常常见的算法题在面试过程中经常会被问到: “有 1 到 10000 共 10000 个数,如果我从中随机拿走一个数,你如何知道我拿走了哪个?” idea 1 最容易被想到的解决办法应该是“先将这10000个数相乘得到结果a”,随机拿走一个数之后,“将剩下的9999个数相乘得到结果b”,将a与b做除法得到数c,此时c原创 2017-06-11 09:49:25 · 1110 阅读 · 8 评论 -
J2SE-选择排序法初识
如果说循环加数组是绝配的话,那么排序算法则是这二者结合之后的完美体现了。在学习J2SE的时候,在数组这一章提前接触到了“排序算法”,感觉好玩,就总结一下。 下面仅仅针对“选择排序”这一个部分进行总结。 基本介绍: 1、明确在内存中,数组是在堆中的,对于静态数组来说,堆中存放的是对数组的引用(指针),我们排序所做的工作,不是让内存中堆中数据进行变动,而是改变堆中引用的排原创 2015-09-13 22:33:44 · 971 阅读 · 28 评论 -
【算法】MD5加密算法
今天在项目中遇到了一个加密需求,参考之前“油菜花”系统里的接口文档,自己尝试了一把Sign(签名串)算法的实现过程。 先介绍签名串生成算法: 1、将所有请求参数(除去Sign)转为小写; 2、再按照a-z的顺序进行排序顺序拼接(如果两个参数名首字母一样,则对第二个字母进行排序); 3、拼接结果为:字段名(小写) + 字段值 + 字段名原创 2016-08-02 22:18:43 · 1320 阅读 · 9 评论 -
【算法初级】排序--“冒泡”和“选择”对比
今天下午在公司比较清闲(不容易啊),对比了下排序算法中的“冒泡排序”和“选择排序”,代码如下:using System.Threading.Tasks;namespace Bubble_Sort{ //Bubble Sort - 2016年10月26日14:53:26 class Program { static void Main(string[原创 2016-10-26 20:19:32 · 823 阅读 · 29 评论 -
【算法初级】排序 - “Bubble Sort”优化
前些天写了一个比较“冒泡”和“直接选择”的博客,主要是从形式上对其进行对比(都套有两层for循环),但是从本质上来说,前者属于“交换排序”,而后者属于“选择排序”,还是不一样的。 鉴于这几天遨游在知识的海洋中,我发现了一些基本算法的优化策略,小菜介绍下对“冒泡”的两点优化。 算法原型://核心冒泡算法 - Bubblefor (int i = 0; i < a原创 2016-10-29 11:53:41 · 1761 阅读 · 24 评论 -
【算法】网易云音乐日推算法浅析
“网易云音乐”里有一项类似于淘宝“我的喜好”的“日推”功能,根据你经常听的歌曲类型,每日推送给你类似的音乐,几乎次次惊艳,而且大多都没听过,或者好久以前听过早就忘记了名字,或者之前不知道在哪听过 只是知道其中一部分旋律,根本不知道名字,等等。 参考了在北京实习时一个同事的分享以及在“知乎”上大神们的介绍,本文暂不考虑算法实现,仅仅从算法本身来学习一番,对IT世界里一些脑洞大开的想法做以分原创 2017-02-07 14:16:10 · 19620 阅读 · 19 评论 -
【算法】斐波那契数列的效率问题
点击这个链接:(斐波那契数列)是在数学中非常有名的一个数列形式,无论是数学界还是编程圈无不在拿它讲解递归调用的思想,数学公式如下: 现在通过编程实现“斐波那契数列”程序,通过传入的数值n,拿到第n位下斐波那契数列的值。 正如在课本中所讲解到的,通过“递归调用”来实现该方法,代码实现可以设计为:public Long原创 2017-03-14 15:08:51 · 2460 阅读 · 15 评论