- 博客(15)
- 收藏
- 关注
原创 LeetCode 热题 HOT 100
LeetCode 热题 HOT 100__1. 两数之和1. 两数之和1. 两数之和题目链接给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。思路1:最为直接的方法是直接将每一个数进行两两匹配,双层for循环看是否能得到target。class Solution {public: v
2021-10-09 14:55:33 226
原创 Leetcod每日一题_1894. 找到需要补充粉笔的学生编号
1894. 找到需要补充粉笔的学生编号题目链接思路:直接模拟即可,K可以减去多少组学生总和,取余,再拿余数依次对每一个学生比较大小。代码实现:class Solution {public: int chalkReplacer(vector<int>& chalk, int k) { long long sum = 0;//注意溢出 for(int x:chalk) sum += x; int remain = k%sum;
2021-09-15 17:01:39 141
原创 Leetcode每日一题_162. 寻找峰值
162. 寻找峰值题目链接思路:最直接的想法是直接遍历一遍,找到符合nums[i-1] < nums[i] > num[i+1],但是时间复杂度过高,题目说明必须使用 O(logn) 时间复杂度的算法,很自然地想到了二分,但是平常接触的二分都是在数组已经有序的情况下进行,回到我们需要找到 nums[i] 需要符合的条件:当 nums[i] < nums[i+1] 时说明第 i 位一定小于第 i+1 位,不确定是否大于第 i-1 位,这足以说明第 i 位不是峰值,而峰值应该在i+1
2021-09-15 16:59:00 162
原创 Leetcode每日一题_68. 文本左右对齐
Leetcode每日一题题目链接思路:模拟,怎么模拟,首先可以确定的是,我们需要先判断一行最多放几个单词,单词之间的空格至少有一个,根据这个思路,我们可以得到每一行的单词分别是哪些,接下来需要处理的就是单词之间的空格数量,当只有一个单词时,那么所有空格全部添加到一个单词后面即可,如果有多个单词,根据题目条件,如果某一行单词间的空格不能均匀分配,则左侧放置的空格数要多于右侧的空格数。无法整除那么意味着无法平均分配,我们将得到的余数作为左边单词的个数,每添加一个那么多添加一个空格即可。代码实现:c
2021-09-09 16:56:31 146
原创 Leetcod(每日一题)_1221. 分割平衡字符串
1221. 分割平衡字符串题目链接思路:(贪心) 划分最小子平衡字符串平衡字符串意味着只需要满足子字符串中L和R的数量相同,我们在遍历字符串的时候,记录L和R的数量,当两者数量相同时即为平衡字符串。代码实现:class Solution {public: int balancedStringSplit(string s) { int n = s.size(),cntr = 0,cntl = 0,res = 0; for(int i = 0;i < n
2021-09-07 14:04:41 111
原创 AcWing(全排列系列)
AcWing全排列系列3429(全排列)题目链接思路1:使用C++头文件自带函数next_permutation().#include <iostream>#include <algorithm>using namespace std;int main(){ string s; int sum = 1; cin >> s; for(int i = 1;i <= s.size();i ++) sum *= i;
2021-08-24 14:52:53 283
原创 2021-08-23
AcWing第 13 场周赛 (3812. 机器人走迷宫)题目链接思路:一共有0,1,2,3四种指令,随机构成上下左右四个方向,那么全排列四种指令一共有24种可能,然后将这24种可能分别代入指令中即可。PS:(如果对全排列不熟悉可以做以下题目)#include <iostream>#include <algorithm>#include <vector>using namespace std;const int N = 55;char s[N][N];
2021-08-23 16:55:59 48
原创 Acwing第 13 场周赛( AcWing 3811. 排列)
题目链接思路1:将数字第一个与最后一个交换,第二个和倒数第二个交换,如果总数为奇数,那么最中间那个则没有交换,用中间这个与最后一个交换即可。#include<iostream>using namespace std;int main(){ int t; cin >> t; while(t --){ int n; cin >> n; int a[n+1]; for(int i
2021-08-23 15:16:44 191 2
原创 Leetcode(数组系列)
盛最多水的容器(Container With Most Water)Leetcode题目地址Leetcode数组系列第2题解题思路:怎么知道接的水最多,那么除了将每种情况都遍历一遍以外,是不是还有可以优化的地方,怎么样可以跳过某些情况?双指针思路:每次选定围成水槽两板高度 h[i],h[j] 中的短板,向中间收窄 1 格计算S(i,j)=min(h[i],h[j])×(j−i),直至达到最优解。对比一下暴力思路和双指针思路,可以发现若不指定移动规则,所有移动出现的 S(i,j)的状态数
2021-07-16 15:38:24 71
原创 Leetcode(数组系列)
两数之和(Two Sum)Leetcode题目地址Leetcode数组系列第1题解题思路:[1,2,3] [2] 使用map,边读入边寻找当前读入的数字与其之前的数相加是否为target存在一个问题,是先将数字及其位置放入hashtable,还是先判断是否在hashtable中存在一个数与当前数字可以组成target,如果是先将数字及其位置放入hashtable,那么如果target= 2 * nums[0],将会返回{0,0}显然是不被允许的,先将数字及其位置放入hashtable,那
2021-07-15 16:31:29 86
原创 Linux常用命令含义
1.ls 查看当前目录下的文件2.ls -l 以列表形式查看当前目录下的文件3.ls -al 查看隐藏的文件4.date 查看当前日期5.cal 以日历的形式查看当前日期6.free 查看当前电脑使用状况7.df 查看磁盘使用情况8.ps 查看进程使用情况9.tab 命令提示10. clear 清屏11. exit 退出终端12.ctrl + c 强行终止程序Linux一切事物都是文件,包括普通文件(文本文件、多媒体文件、可执行文件)、特殊文件(硬件、内存、进程)Linux文件系统
2020-05-29 17:29:25 449
原创 SQL必知必会 (第4课 过滤数据)
MYSQL必知必会 学习之路4.1 使用WHERE子句检索需要的数据需要指定搜索条件,使用WHERE子句中的搜索条件进行过滤,WHERE子句在在FROM子句之后给出。输入:SELECT prod_id,prod_price,prod_nameFROM ProductsWHERE prod_price = 3.49;输出:**4.2.1 检查单个值 **输入:SELECT prod_name,prod_priceFROM ProductsWHERE prod_price <
2020-05-29 17:26:36 215
原创 SQL必知必会 (第3课 排序检索数据)
SQL必知必会 学习之路如果我们需要对检索的数据进行排序,需要使用ORDER BY字句。3.1 排序数据输入:SELECT prod_nameFROM Products;输出:如果不排序,数据一般会以它在底层表中出现的顺序显示,如果不明确控制的话,那最后结果也不应该依赖排序关系。为了明确排序,使用ORDER BY子句,ORDER BY子句取一个或多个列的名字,根据默认的升序进行排列。输入:SELECT prod_nameFROM ProductsORDER BY prod.
2020-05-29 04:10:43 264
原创 SQL必知必会 (第2课 检索数据)
SQL必知必会 学习之路数据库脚本位于文末2.1 SELECT语句学习SELECT语句用于从一个或多个表中检索出信息,为此使用SELECT语句,需要给出至少两条信息----检索什么信息、从哪里检索。2.2 检索单个列输入:SELECT prod_nameFROM Products;分析:SELECT语句从Products表中查找一个名为prod_name的列,需要查找的列位于SELECT关键字之后,FROM关键字指出从哪个表中查找数据。输出:2.3 检索多个列输入:SELEC.
2020-05-28 18:54:00 289
原创 2019西北工业大学程序设计创新实践基地春季选拔赛(重现赛)
2019西北工业大学程序设计创新实践基地春季选拔赛(重现赛)Chino的数学很差,因此Cocoa非常担心。这一天,Cocoa准备教Chino学习圆与直线的位置关系。众所周知,直线和圆有三种位置关系:相离、相切、相割,主要根据圆心到直线的距离来判定。 现在我们来看看作业吧:是以整点为圆心、正整数为半径的圆,整点分别是圆外一点以及轴上的一点,形成一条圆的割线(也就是和圆有两个交点)。现在C...
2019-04-06 22:11:20 343
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人