上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 15 下一页
摘要: 0变a ,1变b,25变z 。即一个字符串可以变成多种形式,请计算一共有多少种 方法一:递归分解 int TranFrom1(int n) { if(n<0) return 0; if(n/10==0) return 1; int k=0; k+=TranFrom1(n/10); if(n%100< 阅读全文
posted @ 2020-03-29 16:40 浪波激泥 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 把数组里的所有的数字拼接排成一个最小的数 全排列 阅读全文
posted @ 2020-03-29 16:38 浪波激泥 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 数字以“01234567891011121314151617181920……”的格式格式序列化到一个字符序列中,求任意第n位的对应数字 方法一:遍历到n 方法二:寻找数的规律 1-9 1*9个 10-99 2*9*10个 100-999 3*100*9 …… int findnumed(int n) 阅读全文
posted @ 2020-03-29 16:36 浪波激泥 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 方法一:直观来看,遍历1到n,每个数去做%10的循环判断 int Number1_B_1toN( int n){ int sum=0; for(int i=1;i<=n;i++){ int k=i; while(k!=0){ if(k%10==1) sum++; k/=10; } } return 阅读全文
posted @ 2020-03-29 16:33 浪波激泥 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 方法一:举例分析数组的规律,累加数组逐步保存最大值;累加中和<0,则遗弃前面的累加和;重新开始; 1 int FindMaxArray(int [] A) { 2 if(A==null||A.length<=0) 3 return 0; 4 int sum=0; 5 int max=0x800000 阅读全文
posted @ 2020-03-29 16:30 浪波激泥 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 在不断插入的数组中输出中位数 方法:将数组均分为大顶堆和小顶堆,通过插入比较判断堆顶的值 阅读全文
posted @ 2020-03-29 16:26 浪波激泥 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 方法一:先排序后寻找前k个数; 方法二:受面试题三十九,寻找超过一半的数的启发,只把里面的middle改成k-1就行; void HalfNum( int [ ] Array ,int k){ int start=0; int end=Array.length-1; int index=Patiti 阅读全文
posted @ 2020-03-29 16:25 浪波激泥 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 方法一:类似快速排序的方法将比选择打的数放在右边,选择小的数放在左边,如果下标为n/2,那么该值就是要找的数,如果大于n/2,那么中位数在左边,如果小于,那么在右边。 //目的,寻找数组中间位置该有的值 int MoreThanHalfNUm( int [ ] Array ){ if(Array== 阅读全文
posted @ 2020-03-29 16:23 浪波激泥 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 输入一个字符串,打印出所有排列方式,即将字符串进行全排列输出分析:把字符串分成两个部分,第一个固定和其他排列,以此类推大问题小化,无重复排列的问题,类似9*8*7*6*5*4*3*2*1的思想 public static void Permutation( char [] pStr){ if( pS 阅读全文
posted @ 2020-03-29 16:22 浪波激泥 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 题目描述请实现两个函数,分别用来序列化和反序列化二叉树思路: 二叉树的序列化就是采用前序遍历二叉树输出节点,再碰到左子节点或者右子节点为None的时候输出一个特殊字符“$”。 对于反序列化,就是针对输入的一个序列构建一棵二叉树,我们可以设置一个指针先指向序列的最开始,然后把指针指向位置的数字转化为二 阅读全文
posted @ 2020-03-29 15:10 浪波激泥 阅读(169) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 15 下一页