- 博客(20)
- 收藏
- 关注
原创 Java的命名规范
包中的字母一律小写,如demo.java类名、接口名应当使用名词,每个单词的首字母大写,如TestPerson。变量名(属性名)第一个单词小写,后面的每个单词的首字母大写,如newLxh。方法名的第一个单词小写,后面每个单词的首字母大写,如talkMySelf()。常量名的每个字母一律大写,如COUNT。...
2021-10-16 23:24:56
174
原创 python换行
python的print(" “)换行问题print(” ")执行后,默认换行,光标停留在下一行.要让print(" ")执行输出后不换行,方法:print("XXXXX “,end=” ")原因:print(" “)之所以换行是因为print里的字符串”"的最后一个end为/n,即换行,要使其不换行,只需改变end即可...
2021-08-10 23:43:50
458
原创 查找第一个错误版本(二分法)
不能写 int mid = (lo + hi) / 2; 要写 int mid = lo + (hi - lo) / 2;这个题目,返回 lo 或者 hi 都行,因为终止条件是 lo == hi.找的是分割点,不是某个值。[********########] 就像这样的有序数组,找第一个 # 号。二分搜索的演化版本,查找某个值,返回其索引,如果找不到,返回其本来应该所在的位置(比如上面 # 号的位置)。遇到这种二分搜索,就拿这个 bad version 来套就行了。代码如下:int firs.
2021-07-19 15:51:51
141
原创 二分查找(超简单)
int search(vector<int>& nums, int target) { int left=0; int right=nums.size()-1; int mid; while(left<=right){ mid=left+(right-left)/2; if(nums[mid]==target) return mid; .
2021-07-19 15:39:35
88
原创 取中间数防止溢出
实际使用求中间mid索引建议用这种方法:int mid = left + (right-left)/2; 可以防止left+right溢出(超出整数范围)。
2021-07-19 15:31:47
514
原创 精确到小数点后几位
#include<iostream>#include<iomanip>using namespace std;int main(){ double a = 0.234532; double b = 0.23432; cout << setprecision(3) << fixed << a << endl; cout << setprecision(3) << fixed << b &
2021-01-22 18:00:23
1097
转载 字符串输入的几种方式
一.对于string类方法一:getline(cin, str)这说明这里的getline不是类方法。在这里要注意的是:当 getline(cin, str);前面的输入是cin>>ss;的话,那么此处str的值时空的,因为他会读取上一行的结束符。#include <iostream>#include <string>using namespace std;int main() { string str; getline(cin, s
2021-01-22 17:05:50
3287
原创 重点是求最大公因数
#include<iostream>using namespace std;int find_max(int m, int n){ if (n == 0)return m; return find_max(n, m % n);}int main(){ int a, b, c; cin >> a >> b >> c; int p = a < b ? a : b; int t = a > b ? a : b; int q
2021-01-21 23:31:54
153
原创 求坐标中距离原点最近的几个点,包含二维vector遍历(下标遍历)
#include<iostream>#include<vector>#include<algorithm>using namespace std;vector<vector<int>> kClosest(vector<vector<int>>& points, int K){ sort(points.begin(), points.end(), [](const vector<int>&
2020-11-09 17:37:47
483
原创 为什么更推荐用平方而不用开方
为什么是欧几里得距离的「平方」?这是因为欧几里得距离并不一定是个整数,在进行计算和比较时可能会引进误差;但它的平方一定是个整数,这样我们就无需考虑误差了。
2020-11-09 17:16:42
309
原创 查看数独是否有效
例如board[2][2]一定是第0个box,board[4][7]一定是第5个box,显然每个数属于哪个box就只取决于纵坐标,纵坐标为0/1/2的都属于box[0],纵坐标为3/4/5的都属于box[1],纵坐标为6/7/8的都属于box[2].也就是j/3.而对于9x9的矩阵,我们光根据j/3得到0/1/2还是不够的,可能加上一个3的倍数,例如加0x3,表示本行的box,加1x3,表示在下一行的box,加2x3,表示在下两行的box, 这里的0/1/2怎么来的?和j/3差不多同理,也就是i/3。#
2020-11-08 20:14:16
111
原创 vector的引用,哈希表解决集合求和的加数
给出一个集合和一个目标,求出集合中的两个数,这两个数的和为该目标第一个方法为暴力枚举,但是时间复杂度为O(n^2)#include<iostream>#include<vector>using namespace std;vector<int> twoSum(vector<int>& nums, int target) { /* int len = nums.size(); for (int i = 0; i < le
2020-11-08 18:58:55
854
原创 auto的用法
c++中将auto变得更加灵活,它不仅可以更加适用于变量的判定,而且在for循环中的定义也更加简洁。#include<iostream>#include<vector>using namespace std;int main(){ vector<int> n = { 1,2,3,4 }; for (auto a : n) { cout << a; }}...
2020-11-08 18:44:51
230
原创 找一段字符串中最长的无重复子字符串的字符个数
找一段字符串中最长的无重复子字符串的字符个数#include<iostream>#include<string>#include<vector>using namespace std;int lengthOfLongestSubstring(string s) { vector<int> m(128, 0); int ans = 0; int i = 0; for (int j = 0; j < s.length
2020-11-07 13:19:10
209
原创 找字符串中不重复的字符的个数
找字符串中不重复的字符的个数#include<iostream>#include<string>using namespace std;int main(){ int count = 0; int num[128] = { 0 }; string a; getline(cin, a); for (int i = 0; i < a.length(); i++) { if (a[i] >= 0 && a[i] <= 127)
2020-11-07 13:17:54
1933
原创 一元三次方程求解(盛金公式)
P1024 一元三次方程求解#include<iostream>#include<cmath>#include<iomanip>using namespace std;void get_solu(double a, double b, double c, double d){ double x1, x2, x3; double A = b * b - 3 * a * c; double B = b * c - 9 * a * d; double C
2020-11-06 23:30:54
484
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅