二分查找的边界问题

使用二分查找时,特别是涉及左右边界时,不同的写法会产生不同的效果, right 是闭区间还是开区间 以及 left<right 还是 left<=right 会影响最终的返回结果。public class BinarySearch { /** * 查找左边界: *
算法 2021年07月26日 92次浏览

滑动窗口的一些技巧

滑动窗口在思路上是一个比较简单的方法,但是在某些情况下,其边界条件会变得非常棘手,这也是难点所在。滑动窗口通常采用双指针实现,重点在于处理while的停止条件,以及窗口内容的更新条件。如果两个指针都对窗口内容有影响,这时不要把注意力同时放在两个指针上,否则两个指针互相影响会使得问题复杂化。一般来说,
算法 2021年07月08日 120次浏览

Spring Boot 学习(一)

yml推荐使用yml文件代替默认的properties作为原来配置文件@ConfigurationProperties(prefix = "girl")用来注入配置文件中的值,prefix为配置文件中一个属性集合的前缀例如:在application.yml中配置这样的属性girl
算法 2017年11月01日 302次浏览

TSP旅行商问题

// TSP.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include "iostream"#define NUM 100using namespace std;int n;int m;int x[NUM];int be
算法 2017年10月29日 480次浏览

数字的全排列

#include "stdafx.h"#include "iostream"using namespace std;void Perm(int list[], int k, int m) {if (k == m) {for (int i = 0; i <
算法 2017年10月29日 455次浏览

字符数组的所有子集

#include "stdafx.h"#include "iostream"#include <cmath>using namespace std;//输出子集void getSubset(char list[]) {int length = st
算法 2017年10月29日 524次浏览

寻找数组中第k小(大)的元素

#include "iostream"#define NUM 100using namespace std;int a[13]={1,4,5,6,3,16,8,9,11,13,26,15,36,};int select(int left,int right,int k){if(l
算法 2017年10月29日 514次浏览

最长字段和-动态规划

#include "stdafx.h"#include "iostream"#define num 100using namespace std;int a[num];int MaxSum(int n){int sum=0;int b=0;for(int i=
算法 2017年10月29日 484次浏览

最大字段和-分治法

#include "stdafx.h"#include "iostream"using namespace std;int a[1001];int b[8]={1,-3,7,8,-4,12,-10,6};int GetMax(int a,int b,int c
算法 2017年10月29日 537次浏览

单调递增序列最大长度

#include "stdafx.h"#include "iostream"#define num 100using namespace std;int a[num]; //原始数据//int c[num][num]; //最优解int LIS(int n){
算法 2017年10月29日 418次浏览