10 2020 档案
摘要:其实也没啥,,但是为了算法的完备性我还是想写写,,,说实话我觉得可能是我理解的问题吧,哈希表可能没有这么,,,简单 这个题没啥可说的,,,,,但是我可能需要截一下 直接数组哈希哈哈哈哈哈哈哈,遍历2000 1 #include <iostream> 2 #include <cstdio> 3 #in
阅读全文
摘要:其实这两个,都用了三角形不等式,就是如果通过中介节点可以比原来的还小,那就更新 (单源最短路) 有个区别就是,dijkstra 是通过优先队列,这样每次都取最小的,每次都取最小的话,最小的不会被其他节点更新,所以只需要一次 也就是说,只要它出过队列,他就可以不用在出一次了,所以我们的标记数组放在出队
阅读全文
摘要:二分模板 1 int searchRange(vector<int>& nums, int target) { 2 int l=0,r=nums.size()-1; 3 while(l<r){ 4 int mid=l+r>>1; 5 if(check(mid))r=mid; 6 else l=mid
阅读全文
摘要:emmmmm本来写的好好的,, 1 class Solution { 2 public: 3 bool check(vector<int>& nums, int l,int r){ 4 vector<int> temp; 5 for(int i=l,j=0;i<=r;i++,j++){ 6 temp
阅读全文
摘要:就,用二进制位运算 1 int fastPower(int base, int exponent) { 2 int sum = 1; 3 while (exponent != 0) { 4 if ((exponent & 1) != 0) { 5 sum *= base; 6 } 7 exponen
阅读全文
摘要:我一开始以为是个dp,上来给我吓懵了(或者并查集????什么玩意) 后来发现不是啊啊啊太美好了 其实就是一个算最大链接的 有个问题就是存数我一开始用的是vector<vector<int>> 但是你去重的时候有点不方便,,,就是它没有find 函数,也没有count函数!!!!要是想去重只能遍历!!
阅读全文
摘要:第一题在这里喔:https://www.cnblogs.com/zhmlzhml/p/13835555.html dfs 1 class Solution { 2 public: 3 4 string findLexSmallestString(string s, int a, int b) { 5
阅读全文
摘要:注意给原来那个vector初始值的时候,,,, 一开始弄的全是0 但其实真的可能出现是0的情况emmmm 所以赋值的时候一定要注意避开那些可能有意义的值 class Solution { public: int maxLengthBetweenEqualCharacters(string s) {
阅读全文
摘要:本来这个题,看一眼上去就应该是sort排序(所以我写了一行sort直接A了,,,) 实际这个题可以用移动指针的方法,, 首先看单指针: 单指针遍历两边,遇见了就换 1 class Solution { 2 public: 3 void sortColors(vector<int>& nums) {
阅读全文
摘要:国庆节好忙啊, 而且由于某些不可避免的原因俺又咕咕咕咕了 约瑟夫问题是个著名的问题:N个人围成一圈,第一个人从1开始报数,报M的将被杀掉,下一个人接着从1开始报。如此反复,最后剩下一个,求最后的胜利者。例如只有三个人,把他们叫做A、B、C,他们围成一圈,从A开始报数,假设报2的人被杀掉。 首先A开始
阅读全文
摘要:就这个题!!!! 我: 1 class Solution { 2 public: 3 vector<string> alertNames(vector<string>& keyName, vector<string>& keyTime) { 4 map<string,set<string>> m;
阅读全文
摘要:(二分啊,,,还是多刷题吧,包括以前的一些算法,感觉根本就没有学深) 标题: 分巧克力 儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。 为了公平起见,小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们
阅读全文