剑指offer 面试题5 替换空格 扩展
题目:有两个排序的数组A1和A2,内存在A1的末尾有足够多的空余空间容纳A2。请实现一个函数,将A2中的所有数字插入A1中,并且所有的数字是排序的。输入A1={1,3,5,7,9},A2={2,4,6,8,10}则输出A1={1,2,3,4,5,6,7,8,9,10}#include<iostream>
using namespace std;
void combineArray(i...
json串 与字典的转换
#----json是一个字符串,长得像是字典----- import json #把json转换成字典 user_info=''' {"nhy":"1234567","lxy":"12345"} ''' user_dic=json.loads(user_info) #loads方法把json转换成字典 print(user_dic) # loads传的是字符串 load 传的是文件对象 f=open('stu.json') res=json.load(f) # print(res) # lo
JS通过键盘点击事件实现div移动
页面内容:文本框模拟键盘点击 div元素实现移动; <body>
<textarea id="myarea" ti></textarea>
<hr>
<div id="mydiv" title="dddddiv"></div>
</body> div样式可以自行定义; JS脚本代码如下: 当键盘输入'a'或'A'时,div向左移动10px script type="text/javascript">
var myarea = document.getElementById("myar
Eclipse Oxygen创建maven web项目(一)
1. 首先新建一个maven项目(默认是打包成jar的项目) 也可以建一个war类型的maven项目,反正都需要手动建立一些缺失的文件夹。 2. 修改pom.xml的打包类型参数 默认的jar类型的包,修改为war <packaging>war</packaging> 3. 更新项目maven配置 4. 此时可能会报错,提示缺少web.xml,手动创建该文件。 5. 再补上一个src/main/resources目录,至此一个maven web项目框就建立完成了。
命名空间出错 namespace Web.Skin.@default
namespace Web.Skin.default会报错 因为default是关键字/保留字,所以需要在前面加@符号; namespace Web.Skin.@default
【转】vue+axios 前端实现登录拦截(路由拦截、http拦截)
一、路由拦截 登录拦截逻辑 第一步:路由拦截 首先在定义路由的时候就需要多添加一个自定义字段requireAuth,用于判断该路由的访问是否需要登录。如果用户已经登录,则顺利进入路由, 否则就进入登录页面。 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 const routes = [ { path: '/', name: '/', component: Index }, { path: '/repository', name: 'r
一些意想不到的小bug。
一,当if的时候,很容易忘记相对的else,从而出现bug,要将背面消息考虑全面。 二,多个元素在同一行布局的时候,要考虑文字的换行还是省略号代替。 例如:左边一个文字,宽度不固定,右边一个图形,宽度固定。左边文字多的时候,在小屏手机上不换行,用省略号代替,然而在大屏手机上还可以显示比小屏手机多一些字数,这样保证所有元素对齐并且保持在一行。 结构: <div class="container">
<div class="left-text">
<span>此处的文字字数
学习笔记-MyBatis入门
1.MyBatis简介 MyBatis 是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。 2.例子 1)首先创建一个java web项目 2)导入所需要的jar包 链接:https://pan.baidu.com/s
[Cypress] Create True end-to-end Tests with Cypress (Smoke test)
Integration tests let us keep our tests fast and reliable. They also allow us to test scenarios that are hard to recreate in a full end-to-end setup. That being said, we should round out our test suite with some high-level smoke tests. In this lesso
https流程图和一些实现细节
验证服务器身份和建立加密信道阶段,会使用非对称加密 通信阶段会使用对称加密 *验证证书 把证书的内容根据一个指纹算法(hash值计算)得到一个指纹,使用CA的私钥加密,而我们的系统中,有预装受信任的CA的根证书,里面包含CA的公钥。通过这个公钥,可以将证书解密得到这个指纹,在通过指纹算法(收到的证书中有指定指纹算法)算出证书的指纹。通过对比即可得知证书是否被篡改。
射频信号发生器的使用以及相关中心频率,载波,调制波术语解释
今日尝试使用射频信号发生器验证电平转换芯片。然只能输出交流耦合波形,遂无法实现验证。心灰之下,尝试了信号发生器的各项功能,现将相关心得记录如下。 射频信号发生器只能输出交流耦合信号,举例,设定输出1V的信号,频率为1M,输出波形为RMS均值为0V,峰峰值2V,正弦波,无法实现0V到2V的输出,而且只能输出正弦波。 射频信号发生器的调幅功能:基波幅度:pp-4V;频率:20MHz。设置调幅幅度为1V,调幅频率为1K,获得的波形如下。 从波形中获得对调幅的理解:在基波的基础上
VueJs路由跳转——vue-router的使用
对于单页应用,官方提供了vue-router进行路由跳转的处理,本篇主要也是基于其官方文档写作而成。 安装 基于传统,我更喜欢采用npm包的形式进行安装。 npm install vue-router --save
当然,官方采用了多种方式进行安装,包括bower,cdn等。 基本用法 在HTML文档中使用,只需要利用v-link这个directive就行了,如: <a v-link="{path: '/view-a'}">Go to view-a</a> ps: v-link还支持act
python学习笔记(四):生成器、内置函数、json
一、生成器 生成器是什么?其实和list差不多,只不过list生成的时候数据已经在内存里面了,而生成器中生成的数据是当被调用时才生成呢,这样就节省了内存空间。 1、 列表生成式,在第二篇博客里面我写了三元运算符,和那个有点像,如果要生成列表[‘01’, ‘02’, ‘03’, ..., ‘10’]怎么做?除了循环还可以用一行语句代替循环生成。 list = [str(i).zeffill() for i in range(1,11)] 生成器:要创建一个generator,有很多种方法。第一种
nest.js + typeORM:身份认证,事务管理
知识点 jwt身份认证 md5加密 typeorm事务(transaction)的使用 本文会延续上一篇文章,继续实现login功能,并实现API的身份认证,查看全部源码。 JWT身份认证 对与绝大多数应用程序来说,身份认证是必不可少的组成部分,而对用户的身份认证授权的策略和方法非常多,选用何种方法取决于项目的需求。 passport是node.js中的一个比较流行的认证库,本项目Demo会使用passport-jwt策略来实现用户身份认证。 JWT(Json Web Token)是一种用于双
插入排序(直接插入排序和希尔排序)
直接插入排序指的是把未排序的元素一个一个的插入到有序的序列中,直至所有元素插入完成。适用于处理数据量较少或部分有序的数据。void insertSort(int *arr, int size)
{
for (int i = 1; i &lt; size; i++)
{
int j, inserted;
if (arr[i] &lt; arr[i - 1])
{
inserte...
交换排序(冒泡排序和快速排序)
冒泡排序的基本思想:假设待排序元素表长为size,从前往后(或从后往前)两两比较相邻元素的值,若为逆序(即arr[j]&gt;arr[j+1]),则交换他们,直至整个元素表有序。// 冒泡排序(升序 从前往后)
void bubbleSort(int *arr, int size)
{
for (int i = 0; i &lt; size - 1; i++) // ...
今日推荐
周排行