last

【pat】C++之刷题常用STL容器整理

我只是一个虾纸丫 提交于 2019-12-05 11:02:47
1.vector 动态数组,方便的动态扩容,方便的变量初始化(int类型默认初始化为0,bool默认初始化为false),可以用来实现邻接表(结点数太多的图)。 头文件 #include<vector> using namespace std; 定义 //typename 可以是基本数据类型,可以是其它标准stl容器,可以是自定义结构体 vector<typename> name; vector<int> v1; vector<vector<int> > v2; //两个维度都是动态的 vector<student> v3(10);//一维固定为10,二维动态 元素访问 //1.下标访问 v[i] //2.迭代器访问 vector<typename>::iterator it; auto it;//另一种迭代器简易定义方法 for(auto it = v.begin();it!=v.end();it++) cout<<*it; //迭代器it可以进行算术运算 常用函数 函数 说明 push_back(x); 将元素x添加到容器末尾 pop_back(); 删除容器末尾元素 size(); 获取容器大小 clear(); 清空元素 insert(it,x); 在it处插入一个元素x erase(it); 删除it处的元素 erase(first,last); 删除[first

删除链表中的重复节点

℡╲_俬逩灬. 提交于 2019-12-05 09:48:16
题目:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5。 为了处理链表有可能一开始就出现元素相同的情况,需要初始化一个头结点。 public class Solution { public ListNode deleteDuplication(ListNode pHead) { if (pHead==null || pHead.next==null) { return pHead; } //头结点 ListNode Head = new ListNode(0); Head.next = pHead; ListNode pre = Head; ListNode last = Head.next; while (last!=null){ if(last.next != null && last.val == last.next.val){ // 找到最后的一个相同节点 while (last.next!=null && last.val == last.next.val){ last = last.next; } pre.next = last.next; last = last.next; }else{ pre = pre.next; last = last

手写一个LruCache

此生再无相见时 提交于 2019-12-05 07:17:04
代码实现一 (直接继承ListHashMap.java) package org.java.write.lru; import java.util.ArrayList; import java.util.Collection; import java.util.LinkedHashMap; import java.util.Map; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; public class LRULinkedHashMap<K, V> extends LinkedHashMap<K, V> { private final int maxCapacity; private static final float DEFAULT_LOAD_FACTOR = 0.75f; private final Lock lock = new ReentrantLock(); public LRULinkedHashMap(int maxCapacity) { super(maxCapacity, DEFAULT_LOAD_FACTOR, true); this.maxCapacity = maxCapacity; } /

mysql The last packet successfully received from t

a 夏天 提交于 2019-12-05 06:39:20
本人博客开始迁移,博客整个架构自己搭建及编码 http://www.cookqq.com/blog/c7d6978a-0dc0-4648-9020-2b81d859a243 mysql服务器最近老是报错,内容如下: The last packet successfully received from the server was 65,502,275 milliseconds ago. The last packet sent successfully to the server was 65,502,276 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem. 主要的意思是::

线性表的顺序存储结构

≯℡__Kan透↙ 提交于 2019-12-05 05:26:32
首先让我们来认识顺序表 在顺序存储结构中,以数据元素的长度为单位,所以每个元素之间的距离为L。 在顺序存储结构中,数据的存储位置和它们的物理位置一致,因此较为简单、自然 使用C语言描述顺序存储结构下的线性表代码如下: #define MAXSIZE 100 //线性表的最大长度 typedef struct Linear_list { datatype elem[MAXSIZE]; //定义数组域 int last; //最后一个元素在表中的位置 }SeqList; 需要注意的有以下问题 (1)数组的长度和线性表的长度不是一个概念。数组的长度是存放线性表的存储空间的长度,线性表的长度是线性表中数据元素的个数,它随着插入、删除等操作会发生变化,而数组的长度一开始就被定义且不可改变。 (2)线性表的当前长度:由于last表示最后一个元素1在表中的位置,而且元素是从0开始,所以当前长度为last+1。 (3)线性表的最大容量为一开始为线性表分配的MAXSIZE决定,后序不可更改。 (4)elem[]即用来存储数据的数组。 在C语言中,为了发挥指针的优势,我们可以定义一个指向SeqList类型的指针,即: SeqList *Lp; Lp是一个指针变量,存储空间通过 C Lp=(SeqList*)malloc(sizeof(SeqList)) 来获得。Lp是存放的顺序表的地址 #

LinkedHashMap源码学习

≯℡__Kan透↙ 提交于 2019-12-05 04:28:14
描述 可以按照添 加元素的顺序 对元素进行迭代的 HashMap 的子类. 注意,上面说的是 加元素的顺序 .也就是说, 更新元素 时,是不会影响遍历结构的的.除非设置参数 accessOrder 为 true ,将更新元素放置到 队末 . 这个类没有对其父类 HashMap 进行过多重写.主要通过实现 afterNode* 相关方法,在数据结构变更后,进行后置的 链表 结构更新进行维护. 常用与关键方法 linkNodeLast 方法 描述: 负责初始化成员变量 head 与 tail . 当 head 与 tail 初始化完成后,负责将目标元素 p 连接到 tail 并更新原有 tail 到目标元素 p 代码: private void linkNodeLast(LinkedHashMap.Entry<K,V> p) { // 缓存尾部 LinkedHashMap.Entry<K,V> last = tail; // 更新尾部到新元素 tail = p; // 判断老尾部是否已经初始化 if (last == null) // 老尾部为初始化,代表头部也没初始化.进行初始化操作 head = p; else { // 初始化以完成,将p链接到老尾部之后 p.before = last; last.after = p; } } transferLinks 方法 描述: 使用

mysql LAST()函数 语法

a 夏天 提交于 2019-12-05 04:25:06
mysql LAST()函数 语法 作用: 返回指定的字段中最后一个记录的值。 语法: SELECT LAST(column_name) FROM table_name 注释: 可使用 ORDER BY 语句对记录进行排序。 环形直线电机系统 mysql LAST()函数 示例 //查找"OrderPrice" 列的最后一个值 SELECT LAST(OrderPrice) AS LastOrderPrice FROM Orders; 来源: https://www.cnblogs.com/furuihua/p/11905603.html

1204. Last Person to Fit in the Elevator

怎甘沉沦 提交于 2019-12-05 03:16:24
Table: Queue +-------------+---------+ | Column Name | Type | +-------------+---------+ | person_id | int | | person_name | varchar | | weight | int | | turn | int | +-------------+---------+ person_id is the primary key column for this table. This table has the information about all people waiting for an elevator. The person_id and turn columns will contain all numbers from 1 to n, where n is the number of rows in the table. The maximum weight the elevator can hold is 1000. Write an SQL query to find the person_name of the last person who will fit in the elevator without exceeding the weight

梯度下降法

孤街醉人 提交于 2019-12-05 03:01:07
简介 梯度下降法是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以),在求解机器学习算法的模型参数,梯度下降是最常采用的方法之一,在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解 不是一个机器学习算法 是一种基于搜索的最优化方法 最小化损失函数 最大化一个效用函数(梯度上升法) 模型 $J=\theta ^{2}+b$   定义了一个损失函数以后,参数 $\theta $ 对应的损失函数 $J$ 的值对应的示例图,需要找到使得损失函数值 $J$ 取得最小值对应的 $\theta $ 首先随机取一个 $\theta $,对 $\theta $求导乘 $\eta $,得到一个导数gradient 将之前的 $\theta $ 存为last_theta 将 $\theta $减去$\eta $*gradient得到的值存入 $\theta $ 将 $\theta $与last_theta分别代入公式后得到两个函数值相减,如果小于指定的一个极小值,则说明已找到了最小的 $\theta $,否则重复第1个步聚,对 $\theta $ 求导,依次完成,直到差值小于极小值 $\eta $ 超参数的作用 $\eta $ 称为学习率也称为步长 $\eta $ 的取值影响获得最优解的速度 $\eta $ 取值不合适,可能得不到最优解 $\eta $ 是梯度下降的一个超参数

PHP:根据二维数组中的某个字段进行排序

纵然是瞬间 提交于 2019-12-05 01:53:17
首先了解下以下两个函数: 1.array_column() 返回输入数组中某个单一列的值。 2.array_multisort() 函数返回排序数组。您可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多 个值相同,它将对下一个数组进行排序。 具体实现代码实例: <?php $data = array( array( 'id' => 5698, 'first_name' => 'Bill', 'last_name' => 'Gates', ), array( 'id' => 4767, 'first_name' => 'Steve', 'last_name' => 'Aobs', ), array( 'id' => 3809, 'first_name' => 'Mark', 'last_name' => 'Zuckerberg', ) ); //根据字段last_name对数组$data进行降序排列 $last_names = array_column($data,'last_name'); array_multisort($last_names,SORT_DESC,$data); var_dump($data); ?> 首先了解下以下两个函数: 1.array_column() 返回输入数组中某个单一列的值。 2.array_multisort()