文档章节

几个算法题

wow863597
 wow863597
发布于 2016/07/09 00:26
字数 504
阅读 35
收藏 3
1.写一个方法,用一个for循环打印九九乘法表 
   /** 
 * 打印九九乘法口诀表 
 */  
public void nineNineMulitTable(){  
    for (int i = 1,j = 1; j <= 9; i++) {   
          System.out.print(i+"*"+j+"="+i*j+" ");   
          if(i==j){   
              i=0;   
              j++;   
              System.out.println();   
          }   
      }   
}  
 
2.给定一个java.util.Date对象,如何转化为”2007-3-22 20:23:22”格式的字符串 
 
/**  
     * 将某个日期以固定格式转化成字符串  
     * @param date  
    * @return str  
    */   
    public String date2FormatStr(Date date)  
    {   
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");   
      String str = sdf.format(date);   
      return str;   
    }   
 
3.写一个方法,能够判断任意一个整数是否素数 
 
/**  
* 判断任意一个整数是否素数  
* @param num  
* @return boolean  
*/   
public boolean isPrimeNumber(int num)   
{   
  for (int i = 2; i <= Math.sqrt(num); i++) {   
      if(num%i==0)   
      {   
          return false;   
      }   
  }   
  return true;   
}   
 
4.写一个方法,输入任意一个整数,返回它的阶乘

/**  
 *获得任意一个整数的阶乘  
 *@param n  
 *@returnn!  
 */   
 public int factorial(int num)   
 {   
   //递归   
   if(num == 1)   
   {   
       return 1;   
   }   
   return num*factorial(num-1);  
 }  
 
5.写一个方法,用二分查找法判断任意整数在任意整数数组里面是否存在,若存在就返回它在数组中的索引位置,不存在返回-1 

/**  
 *二分查找特定整数在整型数组中的位置(递归)  
 *@param dataset  
 *@param data  
 *@param beginIndex  
 *@param endIndex  
 *@return index  
 */   
 public int binarySearch(int[] dataset,int data,int beginIndex,int endIndex){   
   int midIndex = (beginIndex+endIndex)/2;   
   //如果查找的数要比开始索引的数据要小或者是比结束索引的书要大,或者开始查找的索引值大于结束的索引值返回-1没有查到  
   if(data <dataset[beginIndex]||data>dataset[endIndex]||beginIndex>endIndex){  
       return -1;  
   }  
   if(data <dataset[midIndex]){    
       return binarySearch(dataset,data,beginIndex,midIndex-1);   
   }else if(data>dataset[midIndex])   
   {   
       return binarySearch(dataset,data,midIndex+1,endIndex);   
   }else {   
       return midIndex;   
   }   
 }   
   
 /**  
  *二分查找特定整数在整型数组中的位置(非递归)  
  *@param dataset  
  *@param data  
  *@return index  
  */   
  public int binarySearch(int[] dataset ,int data)   
  {   
    int beginIndex = 0;    
    int endIndex = dataset.length - 1;    
    int midIndex = -1;   
    if(data <dataset[beginIndex]||data>dataset[endIndex]||beginIndex>endIndex){  
        return -1;   
    }  
    while(beginIndex <= endIndex) {   
        midIndex = (beginIndex+endIndex)/2;   
        if(data <dataset[midIndex]) {    
           endIndex = midIndex-1;    
        } else if(data>dataset[midIndex]) {    
          beginIndex = midIndex+1;    
        }else {   
          return midIndex;   
        }   
    }   
    return -1;   
  }   
 

本文转载自:http://pengcqu.iteye.com/blog/504628

上一篇: ArrayList源码学习
下一篇: SVN使用教程
wow863597
粉丝 3
博文 38
码字总数 23132
作品 0
济南
程序员
私信 提问
加载中

评论(2)

醉红自暖
醉红自暖
弄错了,是多了0和1
醉红自暖
醉红自暖
算法题第三个有问题,我把你的题自己写了一遍,第三个你的会多出比如0,1,4,9,25,49这些数
有必要必须掌握这些算法题吗?

学好c语言,有必要掌握这些算法题吗?感觉这些算法题挺难的,可能要用到比较高深的数学知识了,看了几个算法题后,备受打击,我在想,是不是必须要掌握这些算法题哦?

天王盖地虎626
2018/07/13
140
1
google面试题及我的算法(1)——交叉换位(几种算法比较)

几个算法的比较: 对以上三篇文章中给出的算法进行比较 “google面试题及我的算法(1)——交叉换位” “google面试题及我的算法(1)——交叉换位(改进)” “google面试题及我的算法(1)...

晨曦之光
2012/03/09
405
0
3个你必须知道的面试新趋势, 抓住秋招尾巴拿下offer

专栏 | 九章算法 网址 | www.jiuzhang.com 秋招已经接近尾声,春招马上要来,想要赶在圣诞节前最后一搏? 所谓道高一尺,魔高一丈。广大应聘者(就是你!)在费尽心思修炼自己level的同时,招...

九章算法
2018/11/18
0
0
大家帮我看看我这面试经历怎么样?

昨天去苏州一家公司面试.net工程师,叫沈苏自动化公司,一个面试主管简单问了几个问题之后就直接叫上机做题,面试题很基础, 第一题:说有一个部门表和一个员工表,完成这2个表的增删改查 第...

John_Smith
2011/09/02
2.5K
12
AI传送门(机器学习资料整理)

以下资料由 AI传送门 为您整理 自我学习的AI AI 作曲 - 音乐欣赏 集成学习 Ensemble Learning Boosting adaboost 算法推演 简单了解 boosting gradient boosting 可视化 GBDT与XGBoost的区别...

八风不动
2017/09/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

阿里P8架构师谈:如何打造一份高并发编程知识体系

1.问题 1、什么是线程的交互方式? 2、如何区分线程的同步/异步,阻塞/非阻塞? 3、什么是线程安全,如何做到线程安全? 4、如何区分并发模型? 5、何谓响应式编程? 6、操作系统如何调度多线...

小刀爱编程
27分钟前
2
0
比特币:如何用地址查询交易?

在比特币应用开发中,一个常见的问题就是,在知道比特币地址的情况下,如何查询这个地址上发生的所有交易?或者类似的说法,如何查询一个指定的比特币地址发生的所有交易? 本文将给出这一问...

汇智网教程
30分钟前
1
0
Spring Boot 下,敏感词及特殊字符过滤处理方式

背景: 技术采用的是 Spring Boot ,请求方法主要为 POST, 请求使用较多的注解为 @RequestBody 交付测试人员进行测试,测试人员在对模糊搜索模块进行了各种特殊字符的搜索,以至于敏感词和特...

Ryan-瑞恩
34分钟前
7
0
使用 Jenkins X 渐进式交付

本文首发于:Jenkins 中文社区 这是渐进式交付系列的第二篇文章,第一篇请看:Kubernetes 中的渐进式交付:蓝绿部署和金丝雀部署。 我使用的我的 Croc Hunter 示例项目评估了 Jenkins X 中金...

Jenkins中文社区
41分钟前
2
0
零基础学算法->PI

本文章是介绍几种计算PI的方法 1.概率法计算PI(又称蒙特卡罗法) 1.1 定义,过程 在半径为1的圆1/4的区域,通过随机函数产生横纵坐标值x,y;当x*x+y*y<=1时,满足条件。 1.2 结果: 因为是随机...

tedzheng
45分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部