2021-11-17每日刷题打卡
2021-11-17每日刷题打卡
力扣——每日一题
318. 最大单词长度乘积
输入: [“abcw”,“baz”,“foo”,“bar”,“xtfn”,“abcdef”]
输出: 16
解释: 这两个单词为 “abcw”, “xtfn”。
这题我用了两个方法,第一个是几分钟前还不会位运算的本笨比写的暴力方法,第二个是稍稍学习了下位运算的聪明的笨比写的较轻松的方法。
class Solution {
public:int maxProduct(vector<string>& words) {vector<unordered_map<char, int>>v;int max_len = 0;for (auto i : words){unordered_map<char, int>mymap;for (auto j : i)mymap[j]++;v.push_back(mymap);}int n = v.size(), l = 0, r = 1;bool flag = true;while(l<n){r=0;while (r < n){for (char i = 'a'; i <= 'z'; i++){if (v[l][i] != 0 && v[r][i] != 0){flag = false;break;}}int num = words[l].size() * words[r].size();if (flag)max_len = max(max_len,num);flag = true;r++;}l++;}return max_len;}
};
class Solution {
public:int maxProduct(vector<string>& words) {vector<int>v;for(auto i:words){int maxk=0;for(auto j:i){maxk |= 1<< (j-'a');}v.push_back(maxk);}int n=v.size(),max_num=0;;for(int i=0;i<n;i++){for(int j=i+1;j<n;j++){int num=words[i].size()*words[j].size();if(!(v[i]&v[j]))max_num=max(max_num,num);else continue;}}return max_num;}
};
AcWing——算法基础
40. 顺时针打印矩阵 - AcWing题库
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。
样例
输入:
[[1, 2, 3, 4],[5, 6, 7, 8],[9,10,11,12]
]输出:[1,2,3,4,8,12,11,10,9,5,6,7]
我们从x=0,y=0处开始逐步把数存入数组里,准备四个方向:上(-1,0),右(0,1),下(1,0),左(0,-1),每次遍历的时候按照方向xy坐标的不同加在我们遍历的xy处就可以达到顺时针遍历,每当遇到边界或是到了之前的位置(转了一圈)就转方向。
class Solution {
public:vector<int> printMatrix(vector<vector<int> > matrix) {int n=matrix.size();vector<int>v;if(!n)return v;int m=matrix[0].size();vector<vector<bool>>st(n,vector<bool>(m,false));int dx[]={-1,0,1,0},dy[]={0,1,0,-1};int x=0,y=0,d=1;for(int i=0;i<n*m;i++){v.push_back(matrix[x][y]);st[x][y]=true;int a=x+dx[d],b=y+dy[d];if(a>=n||a<0||b<0||b>=m||st[a][b]){d=(d+1)%4;a=x+dx[d],b=y+dy[d];}x=a,y=b;}return v;}
};
801. 二进制中1的个数 - AcWing题库
给定一个长度为 n 的数列,请你求出数列中每个数的二进制表示中 1 的个数。
输入格式
第一行包含整数 n。
第二行包含 n 个整数,表示整个数列。
输出格式
共一行,包含 n 个整数,其中的第 i 个数表示数列中的第 i 个数的二进制表示中 1 的个数。
数据范围
1≤n≤100000
0≤数列中元素的值≤10^9
输入样例:
5
1 2 3 4 5
这里我们用到的是位运算的知识点,采用的是右移运算符(>>),使用格式是a>>b;意思是把数字a的二进制数向右移动b位,比如7>>2,就是把5的二进制数向右移动2位,7二进制是0111,向右移动两位就变成了01,我们就是采用这个方式,让一个数的二进制数上各个位的数移动到右边第一位,然后和&1,&是按位与的意思,它的意思是两个数的二进制数对应位置上都为1才为1,比如5&7就是0101&0111,运算结果就是0101,我们把右移的数和1进行&运算,就是只看一个数的最右边位置上是不是1,如果是1就就计算有一个1,然后再右移,在计算,最后右移完后就可以知道这个数的二进制有几个1了。(我们这里从32开始右移,移到1停止,从32开始是因为int类型是32字节,即二进制有32位数)
#include<iostream>
using namespace std;
int main()
{int m,num,math;cin>>m;while(m--){math=0;cin>>num;for(int i=32;i>0;i--)if(num>>i&1)math++;cout<<math<<" ";}return 0;
}
2021-11-17每日刷题打卡相关推荐
- 2022.11.14每日刷题打卡
过山车 原题链接:传送门 二分图最大匹配模板题,但sb了数组开小了一直TLE,虽然是模板但很长教训. #include <bits/stdc++.h> using namespace st ...
- 2022-03-10每日刷题打卡
2022-03-10每日刷题打卡 力扣--每日一题 589. N 叉树的前序遍历 给定一个 n 叉树的根节点 root ,返回 其节点值的 前序遍历 . n 叉树 在输入中按层序遍历进行序列化表示,每 ...
- 2022-02-15每日刷题打卡
2022-02-15每日刷题打卡 AcWing--算法基础 900. 整数划分 - AcWing题库 一个正整数 n 可以表示成若干个正整数之和,形如:n=n1+n2+-+nk,其中 n1≥n2≥-≥ ...
- 2022-04-14每日刷题打卡
2022-04-14每日刷题打卡 代码源--每日一题 上帝的集合 - 题目 - Daimayuan Online Judge 题目描述 现在上帝有一个空集合,现在他命令你为他执行下列三种操作 n 次, ...
- 2022-04-01每日刷题打卡
2022-04-01每日刷题打卡 代码源--每日一题 Lusir的游戏 - 题目 - Daimayuan Online Judge Lusir 正在玩一个古老的基于 DOS 的游戏. 游戏中有 N+1 ...
- 2022-03-02每日刷题打卡
2022-03-02每日刷题打卡 代码源--div2每日一题 Alice的德州扑克 - 题目 - Daimayuan Online Judge 德州扑克是目前世界上最流行的扑克游戏,全世界有众多相关的 ...
- 2022-03-03每日刷题打卡
2022-03-03每日刷题打卡 力扣--每日一题 258. 各位相加 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数.返回这个结果. 示例 1: 输入: num = 38 输出 ...
- 2022-03-31每日刷题打卡
2022-03-31每日刷题打卡 代码源--每日一题 完美数 - 题目 - Daimayuan Online Judge 对于给定的数字 a , b ,当整数 n 在十进制下的所有数位都为 a 或 b ...
- 2021-11-15每日刷题打卡
2021-11-15每日刷题打卡 AcWing--算法基础 AcWing 794. 高精度除法 - AcWing 给定两个非负整数(不含前导 00) A,B,请你计算 A/B 的商和余数. 输入格式 ...
- 2022-03-14每日刷题打卡
2022-03-14每日刷题打卡 代码源--每日一题 网格判断 - 题目 - Daimayuan Online Judge 您将获得一个 n×n 的网格,网格中每个正方形的颜色为黑色或白色.如果满足以 ...
最新文章
- hdu4861 找规律了
- Secure保存串口数据到本地
- 安卓实训项目:基于储存卡音乐播放器实训报告4.0
- Career Essentials from Career Service
- linux svn 命令
- FZU 1894 志愿者选拔
- 03.Mybatis优化
- kbmmw 与extjs 通过JSON Base64 显示图片
- nginx 后端获取真实ip
- java建议:避免使用终结方法
- 类的静态成员函数带来了什么好处,应该在什么时候使用?
- github中的各种操作
- Matlab Tricks(六)—— 矩阵乘法的实现
- 小爱音箱mini系统故障怎么办_Win7蓝牙连接小爱音箱mini的详细教程
- 【利用VBA批量处理中望CAD的修改打印出PDF】
- 【python学习笔记】Python对经纬度处理
- 洋媳妇教育孩子的方法,令中国婆婆大开眼界 - 人人都是艺术
- Hark的数据结构与算法练习之圈排序
- macbook pro如何外接显示器?macbook 外接显示器教程
- 游戏开发商如何租用合适稳定的游戏服务器?
热门文章
- linux ftw()函数使用方法 实例
- 学习记录之星瞳检测交通标志1
- [wordpress搬家]马来西亚 你好
- 【5G核心网】 NGAP 消息
- [转]Cryengine渲染引擎剖析
- 古风系统仙侠文推荐_不容错过仙侠文强推:文笔超好,挑灯夜读系列,看完顿觉书荒...
- python数据可视化代码示例
- android 蓝牙传输速率,android蓝牙rfcomm连接速度太慢
- java.lang.IllegalStateException: focus search returned a view that wasn‘t able to take focus!
- 软件是用计算机解决问题的过程,1.1 计算机解决问题的过程