ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

复试智力题和LEETCODE算法代码题目总结

2022-02-01 10:31:06  阅读:213  来源: 互联网

标签:high 智力题 target nums mid 复试 关灯 low LEETCODE


复试智力题和LEETCODE算法代码题目总结

一、智力题

  1. 你让工人为你工作 7 天,给工人的回报是一根金条。金条平分成相连的 7 段,你必须在每天结束时给他们一段金条,如果只许你两次把金条弄断,你如何给你的工人付费?

考虑到7=1+2+4,即三位的二进制,刚好切两次,切成1,2,4,这样每天都可以的工资都可以用这三段来表示,其中需要和工人进行交换

  1. 一群人开舞会,每人头上都戴着一顶帽子。帽子只有黑白两种,黑的至少有一顶。 每个人都能看到其他人帽子的颜色,却看不到自己的。主持人先让大家看看别人头上戴的是什么帽子,然后关灯,如果有人认为自己戴的是黑帽子,就打自己一个耳光。第一次关灯,没有声音。于是再开灯,大家再看一遍,关灯时仍然鸦雀无声。一直到第三次关灯,才有劈劈啪啪打耳光的声音响起。问有多少人戴着黑帽子

如果只有一个人戴黑色,则第一次关灯就知道自己是黑色,如果是两个人带,则,第一次因为对方没打,所以知道自己应该也是黑色的,所以第二次关灯会打自己,如果是三个人带,则第一次看到两个人有黑色,但没打,可能是只是他们,但是第二次还没打,说明自己也是黑色,否则第二次就打了,故第三次会一起打,即有三顶黑色帽子

二、机器学习

1. 统计学习三要素:模型,策略,算法
实现统计学习步骤

  • 有限训练数据集合
  • 确定可能的模型的假设空间,即学习模型的集合
  • 确定模型选择准则,即学习策略
  • 实现求解最优模型的算法,即学习算法
  • 选择最优模型
  • 利用模型进行预测

2. 基本概念

  • 输入空间、特征空间、输出空间:一般输入空间和特征空间不区分,有时为不同空间,让输入空间映射为特征空间
  • 联合概率分布
  • 假设空间:监督学习的目的就是找一个输入和输出的映射关系,这些映射关系的集合就是假设空间,学习到的模型就是这些映射关系的最优解

三、力扣代码题目

**1. **Two Sum

题目描述:

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。

class Solution(object):
  def twoSum(self, nums, target):
    dct = {}
    for i, n in enumerate(nums):
      c = target - n
      if c in dct:
        return [dct[c], i]
      else:
        dct[n] = i

解题思路

利用enumerate函数,一次遍历记录住数组的内容和下标,如果对应的值在字典里,就可以返回其下标,否则将其内容映射为字典的下标

**2. **Binary Search

class Solution:
    def search(self, nums: List[int], target: int) -> int:
        lens = len(nums)
        high = lens -1
        low = 0
        while(high >= low):
            mid = int((high + low)/2)
            if target == nums[mid]:
                return mid
            elif target > nums[mid]:
                low = mid + 1
            elif target < nums[mid]:
                high = mid - 1
        return -1

基础的二分查找,需要注意重新设置的时候要把low的+1,high的-1,否则可能会无限循环。

标签:high,智力题,target,nums,mid,复试,关灯,low,LEETCODE
来源: https://www.cnblogs.com/hryxk79/p/15858891.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有