学习随笔
杳杳捞到月亮了吗
这个作者很懒,什么都没留下…
展开
-
【c++】atan2()和atan()函数
atan2():(1)定义:double atan2(double y,double x);atan2() 函数的功能是求 y/x 的反正切值。atan2() 是 atan() 的增强版,能够确定角度所在的象限。反正切函数 atan2() 和正切函数 tan() 的功能恰好相反:tan() 是已知一个角的弧度值,求该角的正切值;而 atan2() 是已知一个角的正切值(也就是 y/x),求该角的弧度值。其中 参数y:表示位于 Y 轴上的值;参数x:表示位于 X 轴上的值注意,x 和 y 同时为原创 2021-12-16 11:17:13 · 3165 阅读 · 0 评论 -
【c++】lower_bound( )和upper_bound( )
lower_bound( )和upper_bound( )都是利用二分查找的方法在一个排好序的数组中进行查找:(1)在从小到大的排序数组中:lower_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于或等于num的数字,找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。upper_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于num的数字,原创 2021-12-11 10:04:46 · 187 阅读 · 0 评论 -
【c++】map容器的迭代器
c++ 里面的map容器的迭代器里面 有个first 和 second例如map<string, int> m;m["one"] = 1;map<string, int>::iterator p = m.begin();p->first; // 这个是 string 值是 "one"p->second; //这个是 int 值是 1原创 2021-12-10 10:26:04 · 819 阅读 · 0 评论 -
【c++】set.count()用法
set::count()是C++ STL中的内置函数,它返回元素在集合中出现的次数。由于set容器仅包含唯一元素,因此只能返回1或0。用法:set_name.count(element)参数:该函数接受一个强制性参数element,该元素指定要返回其计数的元素。返回值:该函数返回1或0,因为该集合仅包含唯一元素。如果设置的容器中存在该值,则返回1。如果容器中不存在它,则返回0。实例:#include <bits/stdc++.h> using namespace std; in原创 2021-12-04 10:23:07 · 18823 阅读 · 0 评论 -
【c++】pair的用法
1、概念每个pair对象可以存储两个值,这两个值可以是不同的数据类型。存储的值可以是基本数据类型也可以是自定义数据类型。2、初始化:(1)pair<int, int> p1(1, 2);(2)pair<int, int> p2(p1);//用已有的对象初始化(3)pair<int, float> p3(1, 1.2);(4)pair<int, int> p4;//没有显示初始化,自动执行默认初始化操作。p4为(0,0)2、使用make_pair(原创 2021-11-29 08:20:04 · 863 阅读 · 0 评论 -
【c++】push_back()和emplace_back()区别
push_back():该成员函数的功能是在 vector 容器尾部添加一个元素,用法也非常简单,例如: #include <iostream> #include <vector> using namespace std; int main() { vector<int> values{}; values.push_back(1); values.push_back(2);原创 2021-11-28 10:35:05 · 189 阅读 · 0 评论 -
【java】Random.nextInt()方法
lic int nextInt(int n)该方法的作用是生成一个随机的int值,该值介于[0,n)的区间,也就是0到n之间的随机int值,包含0而不包含n。例:int j = random.nextInt(list.size());原创 2021-11-22 08:20:04 · 637 阅读 · 0 评论 -
【java】System.arraycopy()用法
System.arrayCopy的源代码声明 :public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)其中,(1)src为原数组(2)srcPos为原数组的起始位置(3)dest为目标数组(4)destPos为目标数组的开始起始位置(5)length为需要copy的数组长度例:System.arraycopy(nums, 0, original, 0, nu..原创 2021-11-22 08:15:39 · 492 阅读 · 0 评论 -
【c++】二分法区间的边界条件理解
二分法边界条件理解:二分查找涉及的很多的边界条件,逻辑比较简单,但就是写不好。例如到底是 while(left < right) 还是 while(left <= right),到底是right = middle呢,还是要right = middle - 1呢?写二分法经常写乱,主要是因为对区间的定义没有想清楚,区间的定义就是不变量。要在二分查找的过程中,保持不变量,就是在while寻找中每一次边界的处理都要坚持根据区间的定义来操作,这就是循环不变量规则。写二分法,区间的定义一般为两种原创 2021-11-21 11:19:02 · 554 阅读 · 1 评论 -
【java】stack.pop()/stack.peek()区别
stack.pop() stack.peek()相同点:大家都返回栈顶的值。不同点:peek 不改变栈的值(不删除栈顶的值),pop会把栈顶的值删除。class Solution { public boolean isValid(String s) { if(s.length()%2==0){ Stack<Character> stack=new Stack<>(); for(int i=0;i<s原创 2021-11-21 11:00:51 · 586 阅读 · 0 评论 -
【c++】for auto的用法
for auto的用法:for(auto iter:vec)不改变迭代对象的值;for(auto &iter:vec)可以改变迭代对象的值。==>两者都可以获取到迭代容器中的值,但是使用auto iter时不会对容器对象造成改变,而使用auto &iter对于iter的任何修改将直接修改容器内对应的值。举例说明:#include <iostream>#include <vector>using namespace std; void p原创 2021-11-21 10:52:39 · 2691 阅读 · 0 评论 -
lowbit()函数
lowbit()函数用来取一个二进制最低位的一与后边的0组成的数例如:5=101 ==> lowbit(5)=16=110 ==> lowbit(6)=2(10)算法: int lowbit(int x) { return x&(-x); }原理:二进制数的负数是正数取反加一...原创 2021-11-16 10:14:22 · 2925 阅读 · 0 评论