文章目录
1.Algorithm
1.1 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。示例 1:
输入: [1,3,5,6], 5
输出: 2示例 2:
输入: [1,3,5,6], 2
输出: 1示例 3:
输入: [1,3,5,6], 7
输出: 4示例 4:
输入: [1,3,5,6], 0
输出: 0
1.1.1 解法一:简单遍历
class Solution {
public int searchInsert(int[] nums, int target) {
for(int i = 0; i < nums.length; i ++) {
if(nums[i] >= target)
return i;
}
return nums.length;
}
}
时间复杂度:O(n)
控件复杂度:O(1)
1.1.2 解法二:二分查找
要注意mid的取值
int mid1 = (low + height)/2 //这样求出的值靠左
int mid2 = low + (height - low)/2 //mid = 1 这样求出的值靠右
输入 | low | height | mid1 = (low + height)/2 | mid2 = low + (height - low)/2 | 差异 |
---|---|---|---|---|---|
[0,1,2,3,4] | 0 | 3 | 1 | 1 | |
[0,1,2,3,4] | 1 | 2 | 1 | 2 | √ |
[0,1,2,3,4] | 2 | 4 | 3 | 3 | |
[0,1,2,3,4] | 3 | 3 | 3 | 3 |
class Solution {
public int searchInsert(int[] nums, int target) {
int low = 0;
int height = nums.length - 1;
while(low <= height){
int mid =low + (height - low)/2;
if (nums[mid] > target) {
height = mid - 1;
} else if (nums[mid] < target){
low = mid + 1;
} else {
return mid;
}
}
return low;
}
}
时间复杂度:O(log2n)
2.Review
好费劲
3.Tip
3.1 java映射
数据库字段类型和Java实体类属性类型要兼容
Java实体类和Java DTO类的属性类型要一致
否则转换不成功,会遇到有值属性转换后变为null的情况
4.Share
4.1 WordPress+Nginx+PHP 搭建个人博客网站
4.1.1 安装Nginx
基础安装与配置:传送门
Nginx的配置文件中的server节点可以在 /etc/nginx/conf.d/*.conf
文件夹下新建conf文件,这样就可以配置多个站点
4.1.2 安装PHP
yum install php
安装PHP
yum install php-fpm
安装PHP-FPM,要让PHP以FastCGI的方式与Nginx进行交互,需要有PHP-FPM模块的支持。
systemctl start php-fpm
启动PHP-FPM
systemctl enable php-fpm
开机启动
systemctl restart php-fpm.service
重启
配置php-fpm的配置文件: 位置在/etc/php-fpm.d/www.conf
修改站点目录拥有者,将apach改为root;但是PHP默认是不能以root用户使用的,所以就用了wangcf。
否则访问.php报错:找不到文件
yum install php-mysql
安装MySQL的扩展。解决:您的PHP似乎没有安装运行WordPress所必需的MySQL扩展。
4.1.3 上传WordPress
去官网下载WordPress,将解压内容放到Nginx配置文件中root目录所指路径
使用WordPress创建的网站感觉好卡