`
mjy304122
  • 浏览: 2168 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

有关google题目的陷阱

阅读更多

在有关google的一道题目上已有不少人在讨论

其实,大家都被这道题目开了一道玩笑。。

原题:

Consider a function which, for a given whole number n, returns the number of ones required when writing out all numbers between 0 and n.

 

For example, f(13)=6. Notice that f(1)=1. What is the next largest n such that f(n)=n?

 

翻译过来大体是这样:
有一个整数n,写一个函数f(n),返回0到n之间出现的"1"的个数。比如f(13)=6,现在f(1)=1,问下一个最大的f(n)=n的n是什么?

为什么f(13)=6, 因为1,2,3,4,5,6,7,8,9,10,11,12,13.数数1的个数,正好是6.

题目是有极限的,而最大的数一般是溢出整型数的范围的。。

不过,google的题目目的就在开发考生的思维,所以答案开阔有很多思想。。

单单就f(n)的计算方法就很多,我想以此引出讨论,先看看有没有更一般的算法。。。

结果我会慢慢公布。。哈哈。。。有兴趣的多讨论。。。

分享到:
评论
4 楼 baibai326 2007-04-18  
不错,经楼主指点,恍然大悟,谢谢分享
3 楼 mjy304122 2007-04-18  
后半部分还没给出。。。
后面的更精彩。。。
哈哈。。。
2 楼 solospider 2007-04-17  
顶,被迷惑了,关注点放到前半部分,其实这个问题完全不需要那么复杂的。
不过找出规律还是蛮难得,赞一个。
1 楼 mjy304122 2007-04-17  
我就不再卖关子了。。。。。。。
既然,很多人都还停留在追求所谓速度上。。。。
对于2进制
f(1)=1,f(10)=10 就再没有符合了
3进制
f(1)=1,f(11)=11,f(12)=12,f(110)=110
4进制
符合的有
1,121,122,123,130,200,201,1110
。。。。。。。
。。。。。。。
十进制最后的就是f(1111111110)=1111111110

还有以下是求f(n)的方法count(n)是直接算的。。。
对任何进制可用,2进制的话q=q*2,当然除也是除十。。。
绝对比以上的求f(n)的方法快,当然还可以再加工一下
还有最主要的如何提高遍历的速度,就是楼主说的剪枝(我人为我的方法也不能称为剪枝)
我用了很简单的思想以后再说。。。。。
当然,为什么1111111110是最大,这是函数变化率的问题,大家朝这个方向想想就明白了。

time=0;
q=1;
public int count(int n){
clear();
num=n;
tem1=n;
temp(n);
while(tem1!=0){
q=q*10;
temp(tem1);
}


//System.out.print(time);
//System.out.println();
//System.out.println();
return time;
}
private void temp(int n){
int a=n/10;
int b=n%10;
tem1=a;

time=time+a*q;
if(b>1)
time=time+q;
else if(b==1)
time=time+num%q+b;

}

相关推荐

    Google竞赛题(c语言)

    在Google的竞赛中,C语言经常被用作编程语言,因为它的效率高、灵活性强,适合解决各种算法问题。...在准备过程中,可以尝试解决过去的竞赛题目,了解题目的风格和常见陷阱,这将对你的比赛表现大有裨益。

    阿里谷歌数据结构笔试面试精讲PPT及数据结构参考书

    本资料包聚焦于“阿里”和“谷歌”这两个全球知名科技公司的数据结构笔试和面试题目,旨在帮助求职者准备相关面试,提升数据结构理解和应用能力。 首先,让我们深入探讨《数据结构与算法分析C++描述第三版中文.pdf...

    谷歌高畅、BAT霜神leetcode刷题笔记.zip

    LeetCode是一个广受欢迎的在线平台,它提供了各种编程挑战题目,帮助程序员提升算法和数据结构技能,对于准备面试尤其是硅谷科技公司如Google、BAT(百度、阿里巴巴、腾讯)等的求职者来说,是必不可少的练习资源。...

    程序员应聘面试题大选

    3. **部分面试公司.rar**:每个公司可能对技术栈有特定偏好,比如谷歌可能关注算法能力,亚马逊可能会重视系统设计,而Facebook则可能更注重代码质量。了解目标公司的技术栈和文化,能让你更有针对性地准备。 4. **...

    可供参考的刷题笔记.zip

    这份笔记可能详细记录了他在解决LeetCode题目过程中总结的解题思路、常见陷阱以及优化方法。通过阅读这样的笔记,你可以了解到大厂工程师对于问题的分析角度,学习他们在处理实际问题时如何运用数据结构和算法,这...

    15道Google面试题(含答案)[汇编].pdf

    以下是针对这些题目的一些详细分析和知识点: 1. **高尔夫球填满校车**(产品经理):这道题主要测试逻辑推理和估算能力。解题思路涉及体积计算,空间利用,以及对现实情况的合理假设。通过估算校车和高尔夫球的...

    挑战编程英文版(全)en-all

    《挑战编程》精选了大量来自国际知名编程竞赛的题目,如ACM ICPC、Google Code Jam等,每一道题都附有详尽的解析和代码示例。作者不仅解释了题目的背景和要求,还展示了如何从问题描述中抽象出关键信息,设计合理的...

    谷歌师兄的leetcode刷题笔记-lbdb:小兄弟的数据库

    3. **错误陷阱与调试技巧**:在解决LeetCode题目时,经常会遇到边界条件处理不当、时间空间复杂度过高等问题,师兄的笔记可能会分享这些问题的识别与避免方法。 4. **性能优化**:对于需要考虑效率的题目,师兄可能...

    google_kickstart_2021

    在这个压缩包中,"google_kickstart_2021-main"很可能包含了当年比赛的主程序、题目描述、样例输入输出以及解决方案等资源。 对于使用 C++ 这一标签,我们可以理解为该竞赛中部分或全部题目可能需要使用 C++ 语言来...

    cracking the technical interview

    - **揭秘微软、谷歌、苹果、雅虎和亚马逊的面试过程**:书中不仅有具体的面试题目,还深入探讨了这些顶尖科技公司在面试过程中的一些细节和特点。这对于求职者理解整个面试流程非常有帮助。 - **面试实战故事**:...

    2015校园求职大礼包

    首先,我们看到有《微软、谷歌、百度等公司经典面试100题[第101-170题].pdf》,这表明这份资料不仅涵盖了基础的面试问题,还涉及到了一些具有挑战性的题目,可能包括算法设计、复杂度分析、系统设计等内容。...

    美赛备赛五问五答.pdf

    - **文献查找**:利用学术资源,如Google Scholar、JSTOR等查找相关文献,为模型构建提供理论支持。 - **英语能力**:比赛全程使用英语,因此要提高英语阅读、写作和沟通能力。 - **计算机编程**:掌握基本的编程...

    谷歌师兄的leetcode刷题笔记-smashframes:近战帧数据存档

    其次,“leetcode刷题笔记”表明这是一份关于LeetCode的解题心得,LeetCode是一个在线平台,提供了大量的编程题目来帮助开发者提升算法和编程能力。"smashframes"可能是作者为特定项目或刷题策略命名的一个术语,而...

    程序员最常见的笔试面试题合集

    2. 名企笔试100题:这些题目来自各大知名科技企业的在线笔试,如Google、Facebook、Amazon等。它们通常注重实际问题解决能力,包括但不限于编程题、逻辑推理题、系统设计题等。这些题目可以帮助你了解并熟悉这些公司...

    CareerCup Top 150 Questions 4th

    这本书的第四版提供了150个编程面试题目及其解答,涵盖了数据结构、算法和基于知识的问题中最常见且最有用的题目。这150个问题包括二叉树、二分搜索等经典问题。 3. 面试准备内容: - 150个编程面试问题和解答:...

    leetcode招聘-LeetCode:力码

    它提供了丰富的算法题目,覆盖了数据结构、排序、搜索、图论等多个领域,帮助开发者巩固基础,应对包括Google、Facebook、Amazon等大公司在内的技术面试。本文将深入探讨LeetCode如何助力你在招聘过程中脱颖而出。 ...

    leetcode:leetcode个人题解

    Go 语言,由 Google 开发,以其简洁的语法、高效的性能以及内置并发机制而受到开发者的喜爱。在 LeetCode 上,Go 语言可以高效地实现各种算法,如二分查找、动态规划、图论等。其并发模型(goroutines 和 channels)...

    CareerCup_Top_150_Questions_4th

    通过这些题目,读者可以全面了解和掌握面试中可能遇到的技术难点。 此外,书中的五大方法教你如何解决棘手的算法问题。这五种策略可以帮助你在面对复杂问题时保持冷静,有效展示你的思维过程和解决问题的能力,从而...

    C语言资料大全1.0

    5. **编程习题**:为了检验和提高编程技能,资料可能包含一系列编程练习题,如ACM/ICPC竞赛题目、LeetCode题目等,帮助读者提升解决问题的能力。 6. **调试与测试**:了解如何使用GDB等调试工具和单元测试框架(如...

    高中信息技术会考试题答案15.pdf

    - Google搜索结果:D选项正确,搜索“伦敦奥运会”的简体中文网页链接地址。 6. 网站设计与管理: - 建立主题网站的合理步骤:确定主题、规划内容、收集信息、选择工具制作、收集反馈并修正。 7. 时间计算: - ...

Global site tag (gtag.js) - Google Analytics