09 2022 档案

摘要:埃拉托斯特尼筛法,简称埃氏筛或爱氏筛,是一种由希腊数学家埃拉托斯特尼所提出的一种简单检定素数的算法。 要得到自然数n以内的全部素数,必须把不大于 根号n 的所有素数的倍数剔除,剩下的就是素数。 给出要筛数值的范围n,找出以内的素数。先用2去筛,即把2留下,把2的倍数剔除掉;再用下一个质数,也就是3筛 阅读全文
posted @ 2022-09-25 20:31 yhstsy 阅读(248) 评论(0) 推荐(0) 编辑
摘要:1.异或:相同为假(0),相异为真(1) 2. 基本运算: 1 ⊕ 1 = 0 0 ⊕ 0 = 0 1 ⊕ 0 = 1 0 ⊕ 1 = 1 3.两个特性: 恒等律——X ⊕ 0 = X 归零律——X ⊕ X = 0 同样的可以用真值表证明交换律,结合律,分配律。 4.异或的应用 (1)快速比较两个值 阅读全文
posted @ 2022-09-21 10:50 yhstsy 阅读(321) 评论(0) 推荐(0) 编辑
摘要:1.使用BFS的两个主要方案:遍历 或 找出最短路径 2. BFS的伪代码: 【模板一】 /** * Return the length of the shortest path between root and target node. */ int BFS(Node root, Node tar 阅读全文
posted @ 2022-09-20 22:12 yhstsy 阅读(62) 评论(0) 推荐(0) 编辑
摘要:1.一般的取余运算是两个自然数之间取余。 2.如果a和d是整数,d非零,那么余数r为:a=qd+r,q为整数,且0<=|r|<|d|。 例:5%(-3)=(-3)*(-1)+2=(-3)*(-2)-1,所以余数2和-1都满足定义。 通常情况下,我们把2称为正余数,把-1称为负余数。 通常,当除以d时 阅读全文
posted @ 2022-09-20 21:14 yhstsy 阅读(975) 评论(0) 推荐(0) 编辑
摘要:Date类,SimpleDateFormat类,Calendar类 对象是从时间戳 1970-1-1 开始的计时偏移量 作用:1.用来记录当前的时间戳 2.用它来做时间计时的过渡变量 构造函数:Date date = new Date() package lesson02; import java. 阅读全文
posted @ 2022-09-16 09:30 yhstsy 阅读(23) 评论(0) 推荐(0) 编辑
摘要:Java只有两种数据类型,基本数据类型和引用数据类型。 基本类型以值的形式存在,不是以对象的形式存在,不能直接参与面向对象的方法。 把基本类型 包装 成 类 的形式,即包装类,就可以面向对象。(类似 封装:把数值藏在一个对象里头,套一个壳) 包装类是为了解决基本类型不能直接参与面向对象开发的问题。 阅读全文
posted @ 2022-09-14 16:40 yhstsy 阅读(30) 评论(0) 推荐(0) 编辑
摘要:假设原数组序列为abcd1234,要求变换成的数组序列为1234abcd,即循环右移了4位。比较发现,其中两段的顺序是不变的,1234和abcd,可以把这两段看成两个整体。右移k位的过程就是把数组两部分交换一下,交换过程可以通过三次反转实现: 1.反转前k部分:abcd1234->dcba1234; 阅读全文
posted @ 2022-09-12 19:44 yhstsy 阅读(139) 评论(0) 推荐(0) 编辑
摘要:1.利用set #include <iostream> #include <vector> #include <set> using namespace std; int main() { int myints[] = {1,2,3,1,1}; int len = sizeof(myints)/si 阅读全文
posted @ 2022-09-12 19:43 yhstsy 阅读(325) 评论(0) 推荐(0) 编辑
摘要:一、插入:先将一列插入到一维vector中,再插入到二维vector的一行中。 int N, M, a; cin >> N >> M; vector<vector<int >> V; vector<int > tmp; for (int i = 0; i < N; ++i) { tmp.clear( 阅读全文
posted @ 2022-09-12 19:43 yhstsy 阅读(797) 评论(0) 推荐(0) 编辑
摘要:一、set容器特性:和 map、multimap 容器不同,使用 set 容器存储的各个键值对,要求键 key 和值 value 必须相等。举个例子,如下有 2 组键值对数据:{<'a', 1>, <'b', 2>, <'c', 3>}、{<'a', 'a'>, <'b', 'b'>, <'c', 阅读全文
posted @ 2022-09-12 19:42 yhstsy 阅读(68) 评论(0) 推荐(0) 编辑
摘要:一、特性:map 容器中存储的数据是有序的,而 unordered_map 容器中是无序的。 可以将 unordered_map 容器等价为无序的 map 容器。 具体来讲,unordered_map 容器和 map 容器一样,以键值对(pair类型)的形式存储数据,存储的各个键值对的键互不相同且不 阅读全文
posted @ 2022-09-12 19:42 yhstsy 阅读(127) 评论(0) 推荐(0) 编辑
摘要:一、特性: multimap 容器保存的是有序的键/值对,但它可以保存重复的元素。multimap 中会出现具有相同键的元素序列,它们会被添加到容器中。除了这个特性,multimap大部分成员函数的使用方式和map相同。 二、使用情况:如果使用 multimap 容器,几乎可以肯定它会包含键重复的元 阅读全文
posted @ 2022-09-12 19:41 yhstsy 阅读(68) 评论(0) 推荐(0) 编辑
摘要:一、存储:map是一种关联式容器,map容器存储的都是pair对象,也就是用pair类模板创建的键值对。各个键值对的键和值可以是任意数据类型,包括c++基本数据类型(int、double等),使用结构体或类自定义的类型。通常情况下,map容器中存储的各个键值对都用string字符串作为键的类型。 二 阅读全文
posted @ 2022-09-12 19:41 yhstsy 阅读(351) 评论(0) 推荐(0) 编辑
摘要:lesson 1 什么是散列表(哈希表)? 一、散列思想:假设你们班级100个同学每个人的学号是由院系-年级-班级和编号组成,例如学号为01100168表示是1系,10级1班的68号。为了快速查找到68号的成绩信息,可以建立一张表,但是不能用学号作为下标,学号的数值实在太大。因此将学号除以11001 阅读全文
posted @ 2022-09-12 19:40 yhstsy 阅读(44) 评论(0) 推荐(0) 编辑
摘要:1. 高效去重 有序数组/链表 我们知道对于数组来说,在尾部插入、删除元素是比较高效的,时间复杂度是 O(1),但是如果在中间或者开头插入、删除元素,就会涉及数据的搬移,时间复杂度为 O(N),效率较低。 所以对于一般处理数组的算法问题,我们要尽可能只对数组尾部的元素进行操作,以避免额外的时间复杂度 阅读全文
posted @ 2022-09-12 19:37 yhstsy 阅读(42) 评论(0) 推荐(0) 编辑
摘要:1. 二分查找的代码 一、寻找一个数(基本的二分搜索) 这个场景是最简单的,可能也是大家最熟悉的,即搜索一个数,如果存在,返回其索引,否则返回 -1。 int binarySearch(int[] nums, int target) { int left = 0; int right = nums. 阅读全文
posted @ 2022-09-12 19:32 yhstsy 阅读(29) 评论(0) 推荐(0) 编辑
摘要:# 排序 LowB 三人组:冒泡排序、选择排序、插入排序。# 排序 NB 三人组:快速排序、堆排序、归并排序。# 其他排序:希尔排序、计数排序、基数排序。 排序算法可以分为内部排序和外部排序。 内部排序是数据记录在内存中进行排序。 而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程 阅读全文
posted @ 2022-09-12 19:32 yhstsy 阅读(28) 评论(0) 推荐(0) 编辑
摘要:1.贪心算法 ​伪代码: 从问题的某一初始解出发 while(能朝给定总目标前进一步) do 选择当前最优解作为可行解的一个解元素;由所有解元素组合成问题的一个可行解。 示例: 小明手中有 1,5,10,50,100 五种面额的纸币,每种纸币对应张数分别为 5,2,2,3,5 张。若小明需要支付 4 阅读全文
posted @ 2022-09-12 19:30 yhstsy 阅读(52) 评论(0) 推荐(0) 编辑
摘要:复杂度包括时间复杂度和空间复杂度。 复杂度越小,效率越高。 阅读全文
posted @ 2022-09-12 19:28 yhstsy 阅读(13) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示