![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法练习
文章平均质量分 60
muning
这个作者很懒,什么都没留下…
展开
-
牛客网C++输入输出
一、处理数字求和1. a+b 未知组数,每行给出a b#include<iostream>using namespace std;int main(){ int a,b; while(cin>>a>>b){ cout<<a+b<<endl; }}2.a+b t 组数,每行给出a b#include<iostream>using namespace...原创 2021-08-28 18:28:52 · 1980 阅读 · 0 评论 -
算法小记
参考:《计算机算法设计与分析》王晓东刷力扣用到的核心算法有:分治法,贪心法,动态规划法,回溯法,分支限界法。代价:做选择付出的代价,越小越好。收益:做选择获得的收益,越大越好。最优值:一个问题的策略,获得的最大收益或最小代价。最优解:一个问题的策略,获得最大收益或最小代价时,每一步所做的选择序列。每种算法都有它的适用条件,我们来总结一下:动态规划(1)最优子结构性质 问题的最优解包含子问题的最优解。反过来说就是,我们可以通过子问题的最优解,推导出问题的最优解。如果我们..原创 2021-03-11 10:41:53 · 109 阅读 · 0 评论 -
bug小记——逻辑短路 (剑指offer 64,28)
刷剑指offer遇到两道题:28和64。64考察逻辑短路效应,而28是逻辑短路的一个坑。先看简单题64:求1+2+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。本题在简单问题上做了许多限制,需要使用排除法一步步导向答案。1+2+...+(n-1)+n 的计算方法主要有三种:平均计算、迭代、递归。方法1:平均计算 (包含乘除,不能用)int sumNums(int n) { return (1..原创 2021-03-04 13:17:28 · 220 阅读 · 1 评论 -
程序员面试金典——(2)判定是否互为字符重排
题目描述:给定两个字符串s1和s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。https://leetcode-cn.com/problems/check-permutation-lcci/解题思路解法1:哈希表计数思路:遍历字符串,利用哈希表存储两个字符串中每个字符出现的次数。判断两个字符串中26个字母出现次数是否相同。实现细节:使用unordered_map记录出现次数。为节省空间,遍历第一个字符串时对map中计数做加法处理,遍历第二个...原创 2020-12-02 14:09:43 · 170 阅读 · 0 评论 -
程序员面试金典——(1)判定字符是否唯一
题目描述:实现一个算法,确定一个字符串s的所有字符是否全都不同。https://leetcode-cn.com/problems/is-unique-lcci/解题思路由于题目提示可以不用额外的数据结构解题,那么我们应该抛弃直观上的用set解题的方法。双重循环的暴力求解由于O(n^2)的时间复杂度,也不应该考虑。位运算方法的思路本质上,跟使用一个bool数组来记录astr的每一位是否已经出现过的思路是一样的。基于bool数组的方法:由于题目没有明确说明,根据示例我判断字符串中...原创 2020-12-02 13:05:49 · 121 阅读 · 0 评论