1)算法各大公司的笔试基本都考这个,《剑指 Offer》上的所有题目如果能背下来,LeetCode 刷个一百到三百道题,参加过 ACM 竞赛的也可以。 《剑指 Offer》,指的是《剑指 Offer:名企面试官精讲典型编程题》这本书,里面剖析了 50 个典型的程序员面试题,包括基础知识、代码质量、解 ...
分类:
编程语言 时间:
2021-03-31 12:03:40
阅读次数:
0
题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现 你可以按任意顺序返回答案 示例 1: 输入:nums = [2,7,11,15], ...
分类:
编程语言 时间:
2021-03-31 11:50:53
阅读次数:
0
#n&(n-1) 作用是消除数字的二进制表示中的最后一个1 #左移和右移 >>> >> <<< << 左移乘2 右移除2 #n&1 == 1 用来判断n的二进制最后一位是不是1,是1则true,是0则false 也就是可以用来判断n的奇偶性 所以,!(n&1) == 1可以用来判断是否为0 ...
分类:
编程语言 时间:
2021-03-31 11:45:08
阅读次数:
0
import hashlib '''用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法也称摘要算法,把明文变为密文,但不能逆向,也就是说密文不能变回明文''' obj = hashlib.md5('asdds ...
分类:
其他好文 时间:
2021-03-31 11:44:29
阅读次数:
0
/* c++ 中 std::sort()使用了快速排序的算法,下面看下它的实现算法 快速排序的基本思想:通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的数字均比另一部分数字小,则可分别对这两部分进行排序,以达到整个序列有序。 算法描述:https://www.bilibili.com/vi ...
分类:
编程语言 时间:
2021-03-31 11:41:36
阅读次数:
0
一、概念 1、三要素重叠(+备忘录)子问题、最优子结构、状态转移方程 2、(列状态转移方程)步骤 明确初始条件base case、明确状态、明确选择、定义dp数组/函数 二、斐波那契数列 1、原始暴力递归 重复运算--重叠子问题 递归的时间复杂度 2、带备忘录的递归(自顶向下) class Solu ...
分类:
编程语言 时间:
2021-03-31 11:35:50
阅读次数:
0
这道题强制在线,那么考虑在线算法 好像复杂度低的可以使用平衡树,但是我们这里使用分块算法 因为数据量不是特别大 因为是在前面加一个后面删一个,所以我们考虑使用双端队列来维护这个信息 这样修改的时候,可以把前面的块的末尾加到后面的块,这样每块的大小都不会发生改变 #include<bits/stdc+ ...
分类:
其他好文 时间:
2021-03-30 13:28:17
阅读次数:
0
前言: 对于一个数是否为素数的求解,我相信大家并不陌生。我们都知道素数的定义是如果某一个数除了1和它本身外,没有其他的因子了,那么我们就可以判定该数为素数。大家初学时求解并列举素数时写的代码一般是下面这个样子的,该函数的时间复杂度为O(N); 代码一: #include<stdio.h> int p ...
分类:
编程语言 时间:
2021-03-30 13:12:17
阅读次数:
0
1.概述 在机器学习里面,常见的预测算法有以下几种: 简易平均法:包括几何平均法、算数平均法及加权平均法; 移动平均法:包括简单移动平均法和加权移动平均法; 指数平滑法:包括一次指数平滑法和二次指数平滑法,以及三次指数平滑法; 线性回归法:包括一元线性回归和二元线性回归。 本篇博客,笔者将为大家主要 ...
分类:
编程语言 时间:
2021-03-30 13:08:27
阅读次数:
0
1、文中提供的所有链接都有离线版本,如有打不开的情况请访问项目源码中Website文件夹 2、文中公式中变量经度为n,纬度为t,对应lon(经度),lat(纬度)最后一个字母,我的记法是t有一个横,对应地图上的纬度。 3、文档提供TurfJS算法的解决思路和部分代码实现,故具体到某方法时,会只取代表 ...
分类:
编程语言 时间:
2021-03-30 12:48:08
阅读次数:
0