最近在看算法方面的书,为了检查效果,每天我会做一些题目练练手,今天是第一天,良好的开端是成功的一半,加油!!
问题:求一个整数的长度。
假设你被任命为JDK的源码撰写人,你的第一个任务是写一个方法,完成统计一个整数长度的功能。别奇怪,这个方法确实存在于Integer的源码里。你想怎么实现它?
public class CalSize { final static int[] sizeTable = {9,99,999,9999,99999,999999,9999999,99999999, 999999999,Integer.MAX_VALUE}; static int stringSize(int x) { for(int i = 0 ;;i++) { if(x<=sizeTable[i]) { //System.out.println(i); int size = i+1; System.out.println(x+"的长度为"+size); return 0; } } } } class Test { public static void main(String[] args) { System.out.println(Integer.MAX_VALUE); CalSize.stringSize(100); } }
这个算法的好处在于采用的是静态域分析,不需要用冗长的逻辑判断,可以显著提高效果。
思想:编程时,尽量采用查表的方法,这样的方法一定是最快的,避免“高大上”一定好的思想。
相关推荐
### 知识点解析 #### 一、算法导论概览 《算法导论》(*Introduction to ...以上章节涵盖了算法设计与分析的主要方面,通过对这些知识点的学习和练习,可以系统地提升读者在算法领域的理论基础和实际应用能力。
在“Go-算法学习Golang版”这个项目中,我们主要关注的是利用Golang这门编程语言来理解和实现各种算法。Golang,由Google开发,以其简洁的语法、高效的性能和强大的并发支持而受到广大开发者喜爱。在这个项目中,...
本书自出版以来,一直被视为学习算法设计与分析的最佳指南之一,其深入浅出地介绍了算法的基本概念和技术,并通过丰富的实例帮助读者理解这些理论的实际应用。 #### 第二版特点 第二版相比第一版进行了大量的修订...
1. 算法入门:通过讲解算法分析的预备知识,为读者提供算法学习的基础。 2. 函数的增长:介绍了算法分析中函数增长的概念,通过函数来描述算法的运行时间。 3. 递归式:递归是算法设计中的一种基本技术,本节讲解...
通过学习这些核心知识点,读者可以建立起扎实的算法基础,为解决实际问题提供有效的思路和工具。此外,《算法导论课后习题与思考题答案合集》也为读者提供了实践的机会,有助于加深对理论知识的理解和掌握。
《算法导论及课后习题与思考题答案(完整英文版第2版)》是一部由Thomas H. Cormen、Charles E. Leiserson、Ronald L. Rivest和Clifford Stein共同编写的权威性教材,旨在为学生提供深入理解和掌握算法设计与分析的...
在信息技术课程中,算法学习的重要性不言而喻。算法是信息技术处理信息的核心技术,它不仅是计算机科学的基础,也是培养学生信息素养的重要组成部分。在中小学教育阶段,我们应当将算法与程序设计融入信息技术课程,...
综合来看,张乃孝教授的著作为数据结构与算法学习者提供了一个系统的指导和实践平台,通过详尽的讲解、丰富的例题和深入的分析,帮助学生克服学习障碍,提高解决实际问题的能力。他的教学和研究成果不仅丰富了数据...
《算法导论及课后习题与思考题答案》是一本深入浅出讲解算法理论与实践的优秀教材,由Thomas H. Cormen、Charles E. Leiserson、Ronald L. Rivest和Clifford Stein四位作者共同编著。本书不仅涵盖了算法的基本概念和...
ChatGPT技术与深度学习算法结合的思考 一、ChatGPT 技术简介 * ChatGPT 是 OpenAI 推出的生成式对话模型,基于前人的 GPT 模型,通过无监督学习的方式对大量文本数据进行训练,从而能够对输入的文本进行理解,并...
而《算法导论课后习题和思考题答案》则是对这本书中所有习题和思考题的解答汇编,由Thomas H. Cormen、Clara Lee和Erica Lin共同编辑,为学习者提供了全面而详尽的解答,帮助理解和掌握书中所涉及的各种算法概念和...
从简单的冒泡排序和选择排序到更高效的鸽巢排序、计数排序和快速排序,每一个算法都有其独特价值,学习这些算法有助于培养程序员解决问题的思维能力。在实际编程中,应根据数据特性灵活选用合适的算法,以达到最佳的...
光线追踪算法的实现和思考(源码+项目说明).zip光线追踪算法的实现和思考(源码+项目说明).zip光线追踪算法的实现和思考(源码+项目说明).zip光线追踪算法的实现和思考(源码+项目说明).zip光线追踪算法的实现和...
在“数据结构与算法的学习与思考.zip”这个压缩包中,我们可以期待找到一系列关于这一主题的丰富资源,适合大学生或者对编程感兴趣的自学者。 首先,我们要了解数据结构。数据结构可以被看作是在计算机中存储、组织...
这个“DES.rar_算法学习”压缩包包含了一个C语言实现的DES加密算法,对于想要深入理解加密原理或者进行密码学研究的人来说,是一个很好的学习资源。 DES算法由IBM公司在1970年代初开发,并于1977年被美国国家标准局...
在这个“数据结构算法学习代码java”的压缩包中,我们可以期待找到一系列用Java实现的数据结构和算法示例。 首先,让我们深入探讨一下“数据结构”。数据结构是组织和存储数据的方式,以便于高效地访问和操作。常见...