KMP算法用于计算一个字符串在另一个字符串中首次出现的位置(可以修改为任意次出现的位置)。 void get_next(int next[], SSt…
分类:算法
算法学习思路
随着数据结构课的结束,算法可终于还是来了,如何把这门核心中的核心课程学好,我也已经考虑过很久,作为对每天学习的梳理和感悟,我在这里利息一个挑战书,在5月开始的这两个月的时间里,我觉得每天写博客,具体情况,我做一如下声明:…
贪心算法介绍
贪心算法思想: 顾名思义,贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。当然,希望贪心算法得到的最终结果也是整体最优的。虽然贪心算法…
堆排序
#include <iostream> #include <limits> #include<stdlib.h> using namespace std; //找到两个数中的较大者&n…
算法学习笔记(一)-算法基础
算法分析: 为对一个算法的代价及效率等进行分析,必须具有一个要使用的实现技术的模型,包括描述所用资源及其代价的模型。简单的说,就是必须要有相应统一的准则或模型来进行…
美团点评2018秋招笔试题之硬币兑换
A 国一共发行了几种不同面值的硬币,分别是面值 1 元,2 元,5 元,10 元,20 元,50 元, 100 元。假设每种面值的硬币数量是无限的,现在你想用这些硬币凑出总面值为 n 的硬币, 同时你想让选出的硬币中,不…
通过矩阵求两个向量集中元素两两之间的欧氏距离(python实现)
在很多算法中都会涉及到求向量欧式距离,例如机器学习中的KNN算法,就需要对由训练集A和测试集B中的向量组成的所有有序对(Ai,Bi),求出Ai和Bi的欧式距离。这样的话就会带来一个二重的嵌套循环,在向量集很大时效率不高。…
java实现一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
题目:java实现一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 package cn.it.Solution; import java.util.Scanner; publi…
java基础算法——二维数组的简单操作—转置矩阵、旋转矩阵、顺时针打印矩阵
1、转置矩阵 转置矩阵是最简单的了,无非就是矩阵的行和列互相变换一下,核心代码就一行,理解了就很简单。 public class 转置矩阵 { /** * 1 2 …
Java中Scanner类nextLine()与其他next()方法连用的问题
Scanner类中的nextLine()方法与其他next()方法 例如nextInt()方法不同的是 nextLine()是以Enter,也就是回车作为结束符的 当起与例如next()方法连用时 经常会出现nextLi…
26进制---Excel Sheet Column Number
For example: A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 public class Solution { publ…
为了秋招 之 leetcode督促自我的日常记录
1.两数之和 import numpy as np import math nums = [3,2,4] target = 6 第一个版本:两个for循环的嵌套(时间过长) ans = [] l = len(nums) …