随笔分类 - 常考程序、算法
摘要:今天参加面试(公司保密吧~),主要是算法,下面整理一下。 题目1:字符串str2中的字符是否在字符串str1中都存在?(开始问的是str1是否包含str2子串,我回答用KMP算法) 思路一:toCharArray之后,依次找,复杂度O(nm),面试官当然不满意,我貌似也知道这个算法不会被满意...
阅读全文
摘要:打印:public class test{ public static void main(String args[]){ fun(9); } public static void fun(int n){ for(int i=1; i<=...
阅读全文
摘要:import java.io.File;public class test { public static void main(String[] args) throws Exception { //递归显示C盘下所有文件夹及其中文件 File root = new File("c:"); s...
阅读全文
摘要://大小写一起排序A,a,B,b,……不能用现有的类 bymysele 通过测试//a=97,z=122,A=65,Z=90public class SortString{ public static void main(String args[]){ String[] arra...
阅读全文
摘要://输出1~n中1的个数,如f(1)=1,f(13)=6。通过测试,bymyselfpublic class FindOnes{ public static void main(String args[]){ System.out.println(findOnes(0)); ...
阅读全文
摘要://求字符串中出现最多次数的字母,如果有多个,则都求出。BY MYSELF 已测试import java.util.*;public class FindValueOfMaxTimes{ public static void main(String args[]){ String...
阅读全文
摘要://求素数(质数)。通过测试。1既不是质数,也不是合数//质数包括2,3,5,7,……import java.math.*;public class Prime{ public static void main(String args[]){ findPrime(100); ...
阅读全文
摘要:闰年:年份是整百数时,必须是400的倍数才是闰年;不是400的倍数的年份,即使是4的倍数也是平年。即四年一闰,百年不闰,四百年再闰。 例如,2000年是闰年,1900年则是平年。(摘自“百度百科”)题目1:计算两个日期之间所间隔天数(转自:http://blog.csdn.net/vonger/...
阅读全文
摘要:题目:0,1,2,……,n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。法一:用环形链表模拟圆圈的经典算法(时间复杂度O(nm),空间复杂度O(n))法二:分析数学规律的高效算法。(时间复杂度O(n),空间复杂度O(1))http://ww...
阅读全文
摘要:题目:把n个色子扔在地上,所有色子朝上一面的点数之和为s。输入n,打印出s的所有可能值出现的概率。#include #include using namespace std;/*by myself*/void fun(int n)//色子个数n s=a+2b+3c+4d+5e+6f;a+b+c+d+...
阅读全文
摘要:题目:从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J~K为11,12,13,而大小王可以看成任意数字。(网易要求必须用C完成,可以用C库函数)java代码://扑克牌中的顺子。通过测试//随机5张牌,大小王代表任意数import java.util...
阅读全文
摘要:例如:输入“i come from tianjin”,输出“tianjin. from come i”step1:翻转所有字母的顺序,变成“.nijnait morf emoc i”step2:翻转单词,以空格为界,输出正确答案java代码://最新的。翻转句子。通过测试。by myself//I ...
阅读全文
摘要:http://www.cppblog.com/oosky/archive/2006/07/06/9486.htmlKMP字符串模式匹配详解来自CSDN A_B_C_ABC网友KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。简单匹配算法的时间复杂度为O(m*n);KMP匹配算...
阅读全文
摘要:题目1:已知rand7() 可以产生 1~7 的7个数(均匀概率),利用rand7() 产生rand10() 1~10(均匀概率)int rand10(){int temp;int temp2;do {temp = rand7();} while (temp > 5);//temp 1到5do {t...
阅读全文
摘要://快速排序,通过测试#include "stdio.h" void quickSort(int* data,int len){ if(lenpivot){ data[end--]=data[start]; ...
阅读全文
摘要://希尔排序 通过测试public class ShellSortTest{ public static void shellSort(int [] arrays){ for(int d=5;d>0;d=d-2){ for(int c=0;c0;j=j-d){ if(j<d) break; if(arrays[j]<arrays[j-d]){ int tm...
阅读全文
摘要:法一://快速排序 通过测试public class QuickSortTest2 { public static void quickSort(int[] data,int low,int high){ //此处O(logn) int index; if(lo...
阅读全文
摘要://归并排序 通过测试public class MergeSortTest{ public static void mergeSort(int[] data,int low,int high){ if(lowdata[j]) temp[k++]=data[j++]; else temp[k++]=data[i++];//保证稳定性 } while(i<=end1) te...
阅读全文
摘要://直接插入排序(无哨兵) 通过测试 public class InsertSortTest{ public static void insertSort(int[] arr) { for (int i = 1; i = 0 && temp < arr[j]; j--) { arr[j + 1] = arr[j]; } arr[j + 1] = temp; } } }//-------------------...
阅读全文
摘要://冒泡排序 通过测试public class BubbleSortTest{ public static void bubbleSort(int[] data){ for(int i=0;idata[j+1]){ int temp=data[j]; data[j]=data[j+1]; data[j+1]=temp; } } } }//---------------------------...
阅读全文

浙公网安备 33010602011771号