Problem Description My birthday is coming up and traditionally I'm serving pie. Not just one pie, no, I have a number N of them, of various tastes and ...
分类:
其他好文 时间:
2016-07-12 11:58:40
阅读次数:
150
题意:有四个贼偷糖,后面一个贼偷糖的数量是前一个贼的k倍,现在给你一个方案数m,求满足m种偷取方案数的最小总糖数n。 题意:假设有n颗糖,偷取的方案数为( n/(2^3)+n/(3^3)+....+n(k^3) )种(k^3<=n),二分查找最小的n。 #include <iostream> usi ...
分类:
其他好文 时间:
2016-07-12 11:50:25
阅读次数:
357
题目给出一个所有元素以升序排序的单链表,将它转换成一棵高度平衡的二分查找树解题找到中间点,建立树的根结点
左右半边递归
注意:
右半边链表可以根据找到的中间节点进行递归
左半边要找到结束位置,这里我新建了一个链表/**
* Definition for ListNode.
* public class ListNode {
* int val;
* ListNode...
分类:
编程语言 时间:
2016-07-12 10:33:23
阅读次数:
189
不知不觉在目前的公司待满3年了,打算回家找份工作。面试中被问到关于算法的题目:有哪些常见的查找算法?下来就把我所掌握的查找算法分享给大家,本文主要介绍二分查找算法。 算法定义(摘自百度):二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此 ...
分类:
编程语言 时间:
2016-07-10 06:21:18
阅读次数:
286
最近看一些算法题发现这些问题到最后落实到编程实现上都是一种基础的体现,包括对基本的for,if,else,while等语句的理解程度,还有对循环递归的理解。所以还是得回归最基本的算法,现在去学习那些高深复杂的DP,KMP,红黑树未免有点好高骛远。目前应该坚持基础,打好基础,毕竟不是CS科班出身。言归 ...
分类:
编程语言 时间:
2016-07-08 09:03:15
阅读次数:
186
#include<stdio.h>int b[10]={1,1,2,3,3,5,6,6,7,9},a;int s(int m,int n){ int z; if(m<=n) { z=(m+n)/2; if(b[z]==a) return z; if(a<b[z]) return s(m,z-1); ...
分类:
其他好文 时间:
2016-07-07 21:07:20
阅读次数:
158
今天的程序,自己编的,感觉六六的,么么哒(づ ̄ 3 ̄)づ 题目:在数组中查找书a的位置 #include<stdio.h>int b[10]={1,1,2,3,3,5,6,6,7,9},a; //定义两个全局变量int erfen(int x,int y){ int o; if(x>y) retur ...
分类:
其他好文 时间:
2016-07-07 21:07:18
阅读次数:
131
1 理解数组和链表的区别 数组:数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难; 链表:链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难,插入和删除容易。 ...
分类:
其他好文 时间:
2016-07-07 17:07:02
阅读次数:
250
Search in a big sorted array,这个比之前的二分法模板多了一个很不同的特性,就是无法知道一个重要的条件end值,也是题目中强调的重点 The array is so big so that you can not get the length of the whole ar ...
分类:
其他好文 时间:
2016-07-04 13:34:48
阅读次数:
150
二分查找的基本思想是将n个有序的元素分成大致相等的两部分,取a[n/2]与x做比较,如果x=a[n/2],则找到x,算法中止;如果x<a[n/2],则只要在数组a的左半部分继续搜索x,如果x>a[n/2],则只要在数组a的右半部搜索x。时间复杂度无非就是while循环的次数!总共有n个元素,渐渐跟..
分类:
其他好文 时间:
2016-07-04 12:08:49
阅读次数:
166