苏·凌

风月都好看,爱恨都浪漫。


  • 首页

  • 关于

  • 标签

  • 分类

  • SpringBoot学习笔记

  • 归档

  • 公益404

  • 图片

网易2018校招: 交错01串

发表于 2019-02-15 | 分类于 算法

网易2018校招: 交错01串

这是2018年网易校招的一道题,做起来很简单的,不过我可能心不在焉了吧,也遇到了一些小问题,我们一起来看一下吧。
www.nowcoder.com/practice/3fbd8fe929ea4eb3a254c0ed34ac993a

一. 题目

如果一个01串任意两个相邻位置的字符都是不一样的,我们就叫这个01串为交错01串。例如: “1”,”10101”,”0101010”都是交错01串。
小易现在有一个01串s,小易想找出一个最长的连续子串,并且这个子串是一个交错01串。小易需要你帮帮忙求出最长的这样的子串的长度是多少。

下面是一个示例参考:
示例参考

二. 分析

由于采用在线编程来写的代码,没有什么报错标红,所以写一点就要自测一下。

阅读全文 »

拼夕夕2018校招:最大乘积

发表于 2019-02-14 | 分类于 算法

拼夕夕2018校招:最大乘积

这道题目来自 2018年拼夕夕的校招,我从牛客网上刷到这个题。
https://www.nowcoder.com/practice/5f29c72b1ae14d92b9c3fa03a037ac5f

题目可以自行去看,我这里再简单提一下。

一. 题目

给定一个无序数组,包含正数、负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1)

示例如下。
image.png

二.分析

先简单提一下:

以前刷LeetCode是直接写方法,现在用牛客这个在线编译器还不太习惯。
首先我是用java写的,牛客这里的java代码,会要求写一个Main类,然后写main方法,其次,输入是需要写从控制台读取,输出是运算结果,所以读取数据是需要自己写的。
再就是java要导包,其实记几个重要的包就可以满足了。
千万不要以为java 可以这么写:

1
important java.*;

java里面这么导包是不可以的。

阅读全文 »

VibrationEffect-这酥麻,不敢相信!

发表于 2019-02-09 | 分类于 Android开发笔记

VibrationEffect-这酥麻,不敢相信!

本文章部分翻译自Android开发文档

本文章所用的封装工具类来自Sutils,欢迎Star或者使用

1. 前言

最近封装一个Android震动工具类,在封装时候发现Api26出现了新的方法,然后就翻看Android开发文档,发现还有点意思,同时借着写API的缘故就写了这篇文章,在写文章之前,我测试了一下我写的工具类,点击开始震动,把手机握在手里的时候,我都产生了大胆的想法了……

请自动忽略标题。

2. 旧版API

1
2
3
4
5
6
7
8
9
10
11
/**
* 设置震动
* @param context 上下文
* @param milliseconds 震动时长
* */
@SuppressLint("MissingPermission")
public static void startVibrate(Context context, long milliseconds){
check(context);
vibrator = (Vibrator)context.getSystemService(VIBRATOR_SERVICE);
vibrator.vibrate(milliseconds);
}

上面这个方法,我们可能会经常用到,学习震动的时候也见到过,核心代码两行。传入震动时长即可震动,注意单位是ms

阅读全文 »

时间记录

发表于 2019-02-06 | 分类于 茶馆

时间记录

  • 2019年2月6日 正月初二

    1
    下午5.00 - 晚上7.30 毕设论文翻译 摘要和第一部分
  • 2019年2月7日 正月初三

    1
    上午9.16 - 中午11.34 毕设论文翻译 第二部分
  • 2019年2月9日 正月初五

    1
    上午11.0 - 毕设论文翻译

LifeLine --- 纪念这几年的瞎折腾

发表于 2019-02-04 | 分类于 茶馆

LifeLine — 纪念这几年的瞎折腾

2015-2016待整理

笔迹App [2017.3-2017.4]

笔迹App是一个记事的应用,说实话当时的水平也就这样吧,不怎么熟悉网络请求,所以是一款大部分(有加载网图的地方)都是本地数据库操作的App,

2017年,大二,花了一个月把它做出来,后来就扔一边了。

写下这篇文章的时候,是2019年,猪年除夕,昨天晚上突然想起这款软件,再打开的时候看看这青涩的UI界面,不禁一笑,MIUI系统升级升的选择图片功能都不行了,打算修复一下。

看看自己的代码水平,发现也没长进多少,这个艰难的过渡期始终渡不过来,但那又怎么样呢?我从来就没怕过谁!

计划是准备修复一下,重构当年稚嫩的代码,然后上架酷安。

应用截图:

1549245555026

1549245571093

阅读全文 »

Broadcast Receiver 的使用

发表于 2019-02-01 | 分类于 Android开发笔记

Broadcast-Receiver的使用

最近在复习Android的知识,从最基础的开始深入探究,初学Android的时候,四大组件学的很茫然,其实最多的用到的也就是Activity,其他的接触的都不多。
这里我们探究一下广播机制。

1.动态注册

我们用As新建一个接收器。
新建
这里我们可以使用它的快捷新建的方式,右键包名新建一个Other,选择Broadcast Receiver即可快速新建接收器。

我们输入类名,下面两个默认选中即可,其中exported选中为true,标识允许其他APP调用该组件,enabled标识是否可以被系统实例化,选中也为true,不必多探究。

确认之后,就可以看到系统为我们生成了一段代码

1
2
3
4
5
6
7
public class MyReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
//继承了BroadcastReceiver ,需要实现其中的接受方法。
}
}

阅读全文 »

直男审美进化历程-1.沉浸状态栏

发表于 2019-01-30 | 分类于 Android开发笔记

直男审美进化历程 - 1.沉浸状态栏

经常被女朋友调侃我的设计是直男审美。

但毕竟我不是专业设计师,我做的东西也是东抄抄西凑凑的UI,真的很难想象又会做UI,代码又写的好是何等神人也。

今天,我们来聊聊让人头疼的“沉浸”状态栏。

当然这里对于沉浸这个词纠纷也很大,具体探究可以看一看郭霖老师的文章。那么今天我们实现的效果如下。

1548851689585

我的系统是MIUI10,Android版本是Android 9,可以看到,我们的图片背景是叠在状态栏后面,然后状态栏文字是黑色字体。

这里我们实现的第一种效果就是这样,我们暂且叫做他沉浸状态栏。

  • Android 5.0 及以上
  • 上图的效果

上面是我们的Demo实现要求,如果不是你想要的,可以看下面另一种效果,这篇文章我们一共讲两个效果。

阅读全文 »

用王者荣耀分析<策略模式>

发表于 2019-01-24 | 分类于 设计模式

拿农药这个话题蹭波热度。
当然在此前简书德维恩魏已经写过这种文章了,这里注明一下,文章中所设计的代码可能相似,大家觉得我表述的不专业的话可以参考前辈代码。

其他参考:https://www.cnblogs.com/zhanglei93/p/6081019.html

王者农药

一. 游戏背景

为了避免直接进入代码的不适应,我们先聊点轻松的。
王者荣耀是一款5v5公平对战手游(1v9公平对战手游……),自诞生以来很受欢迎,成为主流moba游戏,我也是女票带入坑的,从此一发不可收拾。
当然游戏要适度,代码还是要写的。

首先我们了解一下大概的游戏的一些规则。
所有英雄分为几种不同的职业,当然各职业也有自己不同的特点,比如射手(ADC)射程远,伤害高,但是很脆容易死等。
每个英雄有3-4个技能,还有一个普通攻击。
同时在游戏中有一个召唤师技能,在出场时你可以选择适合自己的召唤师技能。

二.面向对象设计

背景就说这么多,我们试着用面向对象的方法来考虑如何设计英雄。

抛开召唤师技能,我们可以为一个职业构建一个基类,比如说射手,创建一个Shooter类,然后出新射手的时候,我们只需要把新射手继承自Shooter类。

1
2
3
public class Shooter{
//Shooter类
}

出了后羿这个英雄

1
2
3
public class Hy extent Shooter{
//后羿
}

出了鲁班七号

1
2
3
public class Lb extent Shooter{
//鲁班
}

出了公孙离

1
2
3
public class Ali extent Shooter{
//公孙离
}

每个英雄的自身的一,二,三技能和普通攻击是不一样的,所以可以在自己的类中实现,并且不可以被别人复用。

而召唤师技能是固定的,并且是可以复用的。
那么我们想应该怎么实现?

Q:如何使用OO思想添加召唤师技能?

A: 召唤师(英雄)与召唤师技能之间是一种Has-a的关系,且召唤师技能是必须要选择而且每次都不一样的。我们必须要将召唤师技能模块化。
阅读全文 »

测试文件

发表于 2019-01-23 | 分类于 测试页面

这是测试内容

1
风月都好看,爱恨都浪漫。

Hello World

发表于 2019-01-22 | 分类于 测试页面

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start!

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

Surine

10 日志
5 分类
18 标签
GitHub E-Mail
© 2019 Surine