论坛首页 Java企业应用论坛

编程经典问题及其Java求解(一)

浏览 20300 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-06-01  
感觉是面试题样的,学习了
0 请登录后投票
   发表时间:2010-06-01  
我晕倒,现在还在迷恋这些程序,悲哀啊!!!!!!!!!!!!
0 请登录后投票
   发表时间:2010-06-01  
算法的思想应该有啊。可惜我在实际工作中处理的都是业务问题。算法涉及几乎为零
0 请登录后投票
   发表时间:2010-06-01  
想起来大学时候天天 啃着谭浩强 C语言书的情景,现在基本这些算法忘的差不多了。感觉这些算法好处就是让你有递归的思想和熟练运用for循环.
0 请登录后投票
   发表时间:2010-06-01  
bigkai_13 写道
想起来大学时候天天 啃着谭浩强 C语言书的情景,现在基本这些算法忘的差不多了。感觉这些算法好处就是让你有递归的思想和熟练运用for循环.

对呀,是很基础的算法,不过面试题中还是有些会涉及的。我后面还会继续发布其他一些基础算法的!
0 请登录后投票
   发表时间:2010-06-01  
搞程序要么就搞算法,要么就搞业务。
0 请登录后投票
   发表时间:2010-06-01  
zhao103804 写道
<div class="quote_title">skyremark 写道</div>
<div class="quote_div">
<div class="quote_title">写道   你这个问题的解答方法可能并不是最简单的,而且有把问题复杂化的嫌疑。</div>
<div class="quote_div">package com.sailor.game; <br><br>/** <br>* 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩 <br>* 下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 <br>* 程序分析:采取逆向思维的方法,从后往前推断。 <br>* <br>* @author Sailor <br>* <br>*/ <br>public class Monkey_Peach { <br><br>public static void main(String[] args) { <br>int[] peach = new int[10]; <br>peach[9] = 1; <br>// 下面利用的是数组和循环将每天的桃子数量都求出来了 <br>for (int i = peach.length - 1; i > 0; i--) { <br>peach[i - 1] = 2 * (peach[i] + 1); <br>} <br>for (int i = 0; i < peach.length; i++) { <br>System.out.println(peach[i]); <br>} <br>System.out.println("第一天的桃子数:"+getPeach_Num(10, 1)); <br>} <br><br>// 利用递归的方法来求第一天的桃子数,输入参数为天数和当天的桃子数,输出为第一天桃子数 <br>public static int getPeach_Num(int day, int peach_num) { <br>if (day == 1) <br>return peach_num; <br>else if (day < 1 || peach_num < 0) <br>return 0; <br>else <br>return getPeach_Num(day - 1, (peach_num + 1) * 2); <br>} <br><br>} <br>
</div>
 

 

因为到第10天只有一个桃子了,我们就可以这么理解了,假设今天还有x个桃子,那么他前一天的应该是(x+1)*2,那么直接使用

int x = 1;<br>  for(int i=9;i>0;i--){<br>   x = (x+1) * 2;<br>  }<br>  System.out.println(x);

 

就可以计算到你的结果。

 

正解,这样效率高多了

</div>
 

恩,你这个方法貌似比递归要简单些,其实我前面用数组的那个方法大概和你这个差不多,只需稍加改动
0 请登录后投票
   发表时间:2010-06-01  
kevin_wanwei 写道
我晕倒,现在还在迷恋这些程序,悲哀啊!!!!!!!!!!!!

哥们儿,不是迷恋这些程序,只是一些基础的东西偶尔总会接触下吧。
0 请登录后投票
   发表时间:2010-06-01  
很好啊!我现在也在看数据结构和算法!!
0 请登录后投票
   发表时间:2010-06-01  
简单问题复杂化
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics