10 2014 档案
摘要:描述海上有许多灯塔,为过路船只照明。从平面上看,海域范围是[1, 10^8] × [1, 10^8] 。(图一)如图一所示,每个灯塔都配有一盏探照灯,照亮其东北、西南两个对顶的直角区域。探照灯的功率之大,足以覆盖任何距离。灯塔本身是如此之小,可以假定它们不会彼此遮挡。(图二)若灯塔A、B均在对方的照...
阅读全文
摘要:1 # include 2 struct Slist{ 3 int size; 4 struct sl* head; 5 }; 6 struct sl{ 7 int k; 8 struct sl* next; 9 }; 10 typedef str...
阅读全文
摘要:/*问题描述,如何在时间复杂度为O(n)的前提下,实现单链表翻转。并尽量减少内存消耗。即1-2-4-5-6转化为6-5-4-2-1。*/ 1 # include 4 struct Slist{ 5 6 int size; 7 struct sl* head; 8 9 10 };...
阅读全文
摘要:1 /* 2 3 约舍夫问题: 4 M个人围成圈,相邻相继编号1-M; 5 从1号人开始1号报数; 6 如果所报数为m,则撤出圆圈队伍。相邻的下一位报数者从1开始。 7 直至剩下最后一位,求其是第几位。 8 9 */10 11 # include12 13 void main(){14 ...
阅读全文
摘要:1 # include 2 3 struct dll{ 4 struct Element* head; 5 int size; 6 }; 7 8 struct Element{ 9 int value; 10 struct Element* p;...
阅读全文
摘要:直接上代码吧: 因为是双链表,所以快排的i指针后移和j指针前移可以实现。故而可按照数组快排的方式实现双链表快排。 关键是注意边界,因为是双链表,切莫越界。 1 # include 2 3 struct dll{ 4 struct Element* head; ...
阅读全文
摘要:起源: 前几日去一IT公司面试,有这么一个问题,如何实现命令行排序。 即 cmd输入: 命令 5 4 6 7 8 输出:4 5 6 7 8特此学习一下关于命令行C与Java的实现 对C: 有main(int argc, char* *argv) 即可执行程序(即命令)后面的字符串组会赋给argv[]...
阅读全文
摘要:快排定义: 借鉴wiki对之的定义:http://en.wikipedia.org/wiki/Quicksort代码实现: 1 public class Quicsort { 2 3 4 public void _quickSort(Integer[] list, int...
阅读全文
摘要:起源: 在师兄网易的面试题中,一BOSS提出以下问题。 对于一个非负整型数组,是否可以用=,+,-负号串起来。问题分析: 存在数组用=,+,-串起来。 即是否能把数组成员分割成两部分切相等。 即是否存在数组中n个成员相加等于数组成员综合的一半。 算法解析: 数组: ...
阅读全文