`

面试题 - 总结

阅读更多
require "rubygems"


##
#1.平衡点问题
#  平衡点:比如int[] numbers = {1,3,5,7,8,25,4,20}; 25前面的总和为24,25后面的总和也是24,25这个点就是平衡点;假如一个数组中的元素,其前面的部分等于后面的部分,那么这个点的位序就是平衡点
#要求:返回任何一个平衡点
puts "平衡点问题" + "* " * 20

#初始化常量
numbers = [1, 3, 5, 7, 8, 25, 4, 20]
len = numbers.size - 1
head_sum = 0;tail_sum = 0
head= 0;tail =len

#开始计算
for i in 0..len
  (puts "mid is :#{numbers[i]} sum is:#{head_sum}";break) if head_sum.eql?(tail_sum) and head_sum > 0
  (head_sum += numbers[head];head += 1) if head_sum <=tail_sum
  (tail_sum += numbers[tail]; tail -= 1) if tail_sum <= head_sum
end


##
#2.支配点问题:
#支配数:数组中某个元素出现的次数大于数组总数的一半时就成为支配数,其所在位序成为支配点;比如int[] a = {3,3,1,2,3};3为支配数,0,1,4分别为支配点;

puts "支配点问题" + "* " * 20

h_count = {} #用于存储数量
h_index = {} #用于存储位置
Hash
a = [3,3,1,2,3]
a.each_index do |i|
  h_count[a[i]]=0 if h_count[a[i]].nil?  
  h_count[a[i]] += 1
  h_index[a[i]] = [] if h_index[a[i]].nil?
  h_index[a[i]] << i
end

list = h_count.sort {|a,b| b[1]<=> a[1]}
puts "支配数是:#{list[0][0]} 数量:#{list[0][1]}"
puts "支配点数:#{h_index[list[0][0]].join(",")}"



##
#3.最大公约数,辗转相除法
a,b = 5767,4453
... temp = a
... while temp:
...     temp = a % b
...     if temp == 0:
...       print b
...     else:
...         print a,b
...         
...     a = b
...     b = temp

最小公倍数:公式法
  可以证明,甲、乙两个自然数和它们的最大公约数与最小公倍数有如下关系:
  甲×乙=最大公约数×最小公倍数因此,可以根据公式:
  最小公倍数=甲×乙÷最大公约数来求两个数的最小公倍数。

##
#4.大数求余
原理将大数分开计算,按位计算
23 = 2*10 + 3
23%n = 2%n*10 + 3%n

d = 1232132131
f = 7
mod = 0
... for i in str(d):
...     mod = mod * 10 + int(i)
...     mod = mod % f
...     print mod,f

0
0
分享到:
评论

相关推荐

    上海Linux运维工程师-面试题-个人总结).docx

    上海Linux运维工程师-面试题-个人总结).docx上海Linux运维工程师-面试题-个人总结).docx上海Linux运维工程师-面试题-个人总结).docx上海Linux运维工程师-面试题-个人总结).docx上海Linux运维工程师-面试题-个人总结)...

    Python经典面试题-总结

    Python经典面试题 Python经典面试题 python面试题 python 面试题 Python经典面试题 Python经典面试题 python面试题 python 面试题 Python经典面试题 Python经典面试题 python面试题 python 面试题 Python经典面试题 ...

    测开面试题--总结.docx

    测试开发面试题总结 测试开发面试题总结是软件测试领域中非常重要的一部分,以下是测试开发面试题的总结: 一、面试题1:你在测试中发现了一个 bug,但是开发经理认为这不是一个 bug,你应该怎样解决? 解决方案...

    最新各大公司企业真实面试题-Java面试题

    "Java 面试题及其答案.doc"和"JAVA面试题.doc"提供了大量的面试题及解答,涵盖了从基础知识到高级特性的广泛范围,包括反射、注解、设计模式、Spring框架、数据库操作等。通过这些题目,求职者可以自我评估,了解...

    07-小程序面试题-个人课堂总结

    (小程序面试题小程序面试题小程序面试题小程序面试题小程序面试题小程序面试题小程序面试题小程序面试题小程序面试题小程序面试题小程序面试题小程序面试题小程序面试题小程序面试题小程序面试题小程序面试题小程序...

    Java面试题-消息中间件面试题总结

    Java面试题_消息中间件相关面试题总结归纳,高频问题总结归纳,内附答案。 Java面试题_消息中间件面试题总结归纳,高频问题总结归纳,内附答案。 Java面试题_消息中间件面试题总结归纳,高频问题总结归纳,内附答案...

    H5前端面试大全-包含大厂面试题_25个md文件分类面试题.rar

    前端笔试面试题部分 试题链接 原题概述 标签分类 1.md CSS部分 CSS 2.md HTML部分 HTML 3.md FEX 面试题 General 4.md 前端面试常见问题 General 5.md 前端面试HTML 相关问题 HTML 6.md 前端面试CSS 相关问题...

    mysql面试题-经典和最新大厂面试总结

    mysql面试题-经典和最新大厂面试总结

    面试题-最新Java企业笔试面试题大全-百度、腾讯、头条、美团的Java面试题目总结

    面试题 最新Java企业笔试面试题大全@.pdf 2.5MB 中科软Java面试题集@.rar 8.7MB 中级工程师sql试题_答案@.txt 0.0MB 线程编程面试题@.pdf 0.2MB 数据库面试题(SQL+ORACLE)@.pdf 0.6MB 史上最全阿里巴巴 JAVA ...

    IT常见面试题-海量数据处理面试题集锦

    IT常见面试题-海量数据处理面试题集锦,根据实际的面试经验,总结了网上的面试题目,并给出了详细解析

    机构应届毕业生-java企业面试题总结

    机构应届毕业生----java企业面试题总结机构应届毕业生----java企业面试题总结机构应届毕业生----java企业面试题总结机构应届毕业生----java企业面试题总结机构应届毕业生----java企业面试题总结机构应届毕业生----...

    java面试题-外企软件工程师面试题大全.rar

    "java面试题-外企软件工程师面试题大全.rar"这个压缩包文件很可能包含了大量关于Java编程、设计模式、并发处理、数据结构与算法、框架应用等方面的面试题目,旨在帮助求职者准备这些挑战。 1. **Java基础知识**:...

    前端大厂最新面试题-transformer.docx

    前端大厂最新面试题-Transformer 本文将对前端大厂最新面试题-Transformer进行解读,并从中提炼出相关的知识点。 标题解读 前端大厂最新面试题-Transformer,表明本文是关于前端开发领域的面试题,Transformer是指...

    全网最全-谷粒商城项目-面试总结-简历优化_Java-You的博客-CSDN博客 .html

    全网最全-谷粒商城项目-面试总结-简历优化_Java-You的博客-CSDN博客 .html

    Java面试题资料合集-44套.rar

    java面试-Java+最常见的+200++面试题汇总+答案总结汇总 java面试-Java并发编程最全面试题 123道 java面试-Java集合框架常见面试题 java面试-Java虚拟机(JVM)面试题 51道 java面试-Kafka知识汇总 18道 java面试-...

    面试题-整理中

    总结来说,这个“面试题-整理中”的主题提供了一个全面准备IT面试的机会,涵盖了从基础的编程知识到高级的源码分析,再到实用工具的使用等多个层面。通过深入学习和实践,求职者可以提升自己的技术水平,增加成功...

    2020最新Java企业面试题汇总-1000多份.txt

    根据给定文件的信息,我们可以总结出以下相关的Java知识点和面试准备要点: ### 一、Java基础知识 #### 1. Java语言特点 - **面向对象**:封装、继承、多态。 - **平台无关性**:通过JVM实现跨平台运行。 - **自动...

    08-谷歌面试题-08-谷歌面试题

    本资源摘要信息中,我们将对谷歌面试题进行详细的解析和知识点总结。 知识点1:数据库基本操作 在面试题中,我们可以看到基本的数据库操作命令,如create database、use database、create table、insert into、...

    最真实最有用的java面试题-上海公司的面试题总结

    该面试题是我亲自在上海面试的题目总结,比较齐全

    参考2-视频-综合整理面试题-运维面试题笔记详细总结

    运维面试题总结 本文将对运维面试题笔记进行详细总结,涵盖网络面试题、Linux 系统管理类面试题等多个方面的知识点。 一、网络面试题 1. OSI 七层模型的分层与作用 OSI 七层模型是国际标准化组织(ISO)制定的...

Global site tag (gtag.js) - Google Analytics