随笔分类 -  算法与数据结构

摘要:题目:给出一张图,找出图中从起始点到目的地的所有路径?找出最近的路径 这个题目要实现: 1、无向连通图中两点间的所有路径。 2、路径中不能包含环路或重复的点。 3、找出最近的一条路径。 采用的是DFS,解题思路与迷宫问题,12345所有组合类似。 之前想的用邻接表作为数据结构,但是邻接表需要两个类, 阅读全文
posted @ 2015-09-25 20:32 Maydow 阅读(4063) 评论(0) 推荐(1)
摘要:网上的递推方法实在是看不懂,只能用土办法-归纳总结。经过推算,假如不是从0开始会很麻烦。在归纳的时候发现有问题可以灵活一点。 个数 数据 最后一个退出的编号 1 0 0 0 2 0 1 1 (0+3)%2 3 0 1 2 1 (1+3)%3 4 0 1 2 3 0 (1+3)%4 5 0 1 2 3 阅读全文
posted @ 2015-09-25 19:36 Maydow 阅读(187) 评论(0) 推荐(0)
摘要:原题目是求一个无序数组中最长的等差数列。求随机数构成的数组中找到长度大于=3 的最长的等差数列, 输出等差数列由小到大:如果没有符合条件的就输出格式:输入[1,3,0,5,-1,6]输出[-1,1,3,5]思路:1、排序2、d的取值范围是[0,max-min],共有max-min+1种情况3、对每一... 阅读全文
posted @ 2015-09-23 16:18 Maydow 阅读(318) 评论(0) 推荐(0)
摘要:public static int multiple(int a,int b) { int result=0; int c=0; while(b!=0) { if((b&0x01)==1) ... 阅读全文
posted @ 2015-09-21 10:44 Maydow 阅读(198) 评论(0) 推荐(0)
摘要:参考:http://www.cnblogs.com/luxiaoxun/archive/2012/08/06/2624799.html http://www.cnblogs.com/mengdd/archive/2013/03/12/2954914.html http://www.cnblo... 阅读全文
posted @ 2015-09-20 19:23 Maydow 阅读(282) 评论(0) 推荐(0)
摘要:题目: 王强今天很开心,公司发给N元的年终奖。王强决定把年终奖用于购物,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子: 如果要买归类为附件的物品,必须先买该附件所属的主件。每个主件可以有 0 个、 1 个或 2 个附件。附件不再有从属于自己的附件。王强想买 阅读全文
posted @ 2015-09-18 10:48 Maydow 阅读(1125) 评论(0) 推荐(0)
摘要:// 最优原则:不管前面的策略如何,此后的决策是是基于当前状态(由上一次决策产生)的最优决策。// 当最优决策序列中包含最优决策子序列时,可建立动态规划递归方法。// (有些问题的递归式不一定能保证最优原则,因此在求解时有必要对它进行验证。若不能保持最优原则,则不可应用动态规划方法。)// 在得到最 阅读全文
posted @ 2015-09-16 22:02 Maydow 阅读(368) 评论(0) 推荐(0)
摘要:输入 "i love you" 输出"you love i" 要求:不能使用核心库函数实现逆序。思路:进行两次反转,第一次每个单词反转,第二次整个字符串反转 public static void reverseStr(char [] cs,int start,int end) { ... 阅读全文
posted @ 2015-09-15 14:50 Maydow 阅读(228) 评论(0) 推荐(0)
摘要:1、相遇问题 概率中相遇问题的处理方法在高考中有一类概率题型使许多考生感到吃力,那就是“相遇问题”。其实这类问题就是新课标中的新增内容——几何概型的应用,下面用几个例子来说明这类问题的处理方法。 例1 男女两人约定晚上7点至8点在某商场约会,如果女的不等男的,那么两人如期相会的概率是多少? 分析:设 阅读全文
posted @ 2015-09-10 14:08 Maydow 阅读(431) 评论(0) 推荐(0)
摘要:public static int isPowerOfTwo(int n) { int cnt=0; while(n!=0) { cnt++; n=n&(n-1); } ret... 阅读全文
posted @ 2015-09-08 15:32 Maydow 阅读(149) 评论(0) 推荐(0)
摘要:听到同学的说的一个面试题-实现12345的全排列,这道题目的解法和迷宫类似,通过递归回溯实现,下面是小弟的实现方法。 另外一种解法 思路:每次从后面选出一个和第一个交换,后面的继续全排列,一次类推 阅读全文
posted @ 2015-09-08 14:05 Maydow 阅读(305) 评论(0) 推荐(0)
摘要:需要掌握的基础排序 一、插入排序 1)直接插入排序2)希尔排序 二、交换排序 1)冒泡排序2)快速排序 三、选择排序 1)简单选择排序2)堆排序 四、归并排序 一、插入排序 简单的理解就是遍历整个数组,在过程中对每个数都跟前面进行比较只要比它小就往前挪。 1) 直接插入排序实现 2)希尔排序 理解: 阅读全文
posted @ 2015-09-07 20:22 Maydow 阅读(185) 评论(0) 推荐(0)
摘要:根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积。import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.Scanner;public c... 阅读全文
posted @ 2015-09-06 10:44 Maydow 阅读(438) 评论(0) 推荐(0)
摘要:public static final boolean isPrimaryNum(int num) { if(num <= 1) { return false; } if(num == 2 || num == 3) { return t... 阅读全文
posted @ 2015-09-06 10:22 Maydow 阅读(189) 评论(0) 推荐(0)
摘要:import java.util.*;/*求最大公约数和最小公倍数*/public class MaxCommonDivisorAndMinCommonMultiple { public static void main(String[] args) { Scanner scan... 阅读全文
posted @ 2015-09-06 09:24 Maydow 阅读(220) 评论(0) 推荐(0)
摘要:输入输入一个字符串。输出输出字符串中最长的数字字符串和它的长度。如果数字字符串为空,则只输出0如input:dadfsafoutput:0样例输入abcd12345ed125ss123058789样例输出123058789,9import java.util.ArrayList;import jav... 阅读全文
posted @ 2015-09-05 22:26 Maydow 阅读(545) 评论(0) 推荐(0)
摘要:方法一:直接使用BigDecimal方法二:字符串解析,注意stringBuilder.append(int x)这里的x最终会变成x字符串,而不是对应的char. 比较好的算法 1 import java.math.BigDecimal; 2 import java.util.Scanner; ... 阅读全文
posted @ 2015-09-04 22:25 Maydow 阅读(384) 评论(1) 推荐(0)
摘要:验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。例如:1^3=12^3=3+53^3=7+9+114^3=13+15+17+19 1 import java.util.Scanner; 2 3 4 public class Main { 5 public stati... 阅读全文
posted @ 2015-09-04 21:44 Maydow 阅读(275) 评论(0) 推荐(0)
摘要:1 import java.util.Scanner; 2 public class Main{ 3 public static void main(String[] args){ 4 Scanner scanner=new Scanner(System.in); ... 阅读全文
posted @ 2015-09-04 19:09 Maydow 阅读(388) 评论(0) 推荐(0)
摘要:网上看到的一种很给力的实现方法,利用递归。 还有一种更便捷的方法,利用内置的JS引擎 阅读全文
posted @ 2015-09-04 15:46 Maydow 阅读(671) 评论(0) 推荐(0)