首页 > 其他分享 >11.3打卡

11.3打卡

时间:2023-11-03 22:44:39浏览次数:32  
标签:int res List 11.3 new 打卡 queens row

1. 字母异位词分组(49)

将 字母异位词 组合在一起。可以按任意顺序返回结果列表。字母异位词 是由重新排列源单词的所有字母得到的一个新单词。

class Solution {
    public List<List<String>> groupAnagrams(String[] strs) {
Map<String,List<String>> map = new HashMap<>();
        for (String str : strs) {
             char[] array = str.toCharArray();
            Arrays.sort(array);
            String key = new String(array);
            List<String> list = map.getOrDefault(key, new ArrayList<>());
            list.add(str);
            map.put(key,list);
        }
        return new ArrayList<>(map.values());
    }
}

2. pow(xn)(50)

实现 pow(xn) ,即计算 x 的整数 n 次幂函数

思想:二分+位运算,需要考虑Java int溢出

class Solution {
    public double myPow(double x, int n) {
        long b  = n;
        if(x==0.0)return 0.0;
        if(b<0){
            x = 1/x;
            b =-b;
        }
        double res = 1.0;
        while (b>0){
            if((b&1)==1) res *=x;
            x *=x;
            b>>=1;
        }
        return res;
    }
}

3.N皇后(51)

思想:回溯,用数字代表所在斜对角

class Solution {
    public List<List<String>> solveNQueens(int n) {
 List<List<String>> res = new ArrayList<>();
        Set<Integer> columns= new HashSet<>(n);
        Set<Integer> diag1= new HashSet<>(n);
        Set<Integer> diag2= new HashSet<>(n);
        int[] queens =new int[n];
        for (int i = 0; i <n ; i++) {
            queens[i]=-1;
        }
        bpdfs(res,0,n,queens,columns,diag1,diag2);
        return res;
     }

    private void bpdfs(List<List<String>> res, int row, int n, int[] queens, Set<Integer> columns, Set<Integer> diag1, Set<Integer> diag2) {
        if(row==n){
            List<String> list = show(queens,n);
            res.add(list);
            return;
        }
        for (int i = 0; i < n; i++) {
            if(columns.contains(i))
                continue;
            int pos1 = row - i;
            if(diag1.contains(pos1))
                continue;
            int pos2= row+i;
            if(diag2.contains(pos2))
                continue;
            queens[row]=i;
            columns.add(i);
            diag1.add(pos1);
            diag2.add(pos2);
            bpdfs(res,row+1,n,queens,columns,diag1,diag2);
            queens[row]=-1;
            columns.remove(i);
            diag1.remove(pos1);
            diag2.remove(pos2);
        }
    }
         private List<String> show(int[] queens, int n) {
        List<String> res =new ArrayList<>();
        for (int i = 0; i <n ; i++) {
            char[] temp = new char[n];
            Arrays.fill(temp,'.');
            temp[queens[i]] = 'Q';
            res.add(new String(temp));
        }
        return res;
    }
    
}

 

 

标签:int,res,List,11.3,new,打卡,queens,row
From: https://www.cnblogs.com/forever-fate/p/17808660.html

相关文章

  • 11.3 先画
    \(\color{red}\textsf{请先输入内容}\)请输入吗?输,请入,入,吗?输吗?输这逼学我们家*不上了孩子回家后一句话不说我还以为孩子在学校被孤立了结果发现他他妈死了能力实在不够,没法做到每天改模拟赛然后再去做gym或者板刷AGC,拜谢crimson傻逼GCY,过去看pdqb的wallpaperengi......
  • 2023.11.3——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.软考知识明日计划:学习......
  • 11.3 模拟赛小记
    今天题目质量逆天,题也不是那个他讲的。应该是生气了。所以我也不打算写赛时记录了。T1分讨负数个数,T2二分答案;T3我写了哈希,想半天想不到性质;T4小范围暴力大范围输出区间最大值+暴力之类的。本场的感觉很不好。模拟赛期间最绝望的是闲下来:指已经不能进一步思考、没有什么......
  • 金油胜手:11.3黄金、原油行情走势分析及操作建议
     现货黄金--  周五(11月3日)亚市盘中,黄金价格交投于1984美元/盎司附近,在美联储周四连续第二次会议维持利率不变后,美国国债延续了3月份以来的最大涨幅。这一决定强化了人们的猜测,即美联储已经结束了自上世纪80年代初以来最激进的货币紧缩政策。但随着美联储主席鲍威尔为进一步......
  • 2023.11.3 做题记录
    CF349B*1700\(Igor\)深深爱上了\(Tanya\).现在,\(Igor\)想表达他的爱意,他便在\(Tanya\)家对面的墙上写下一串数字.\(Igor\)认为,数字写得越大,\(Tanya\)越喜欢他.不幸的是,他只有\(v\)升油漆,每个数字都会花掉一定的油漆\(a_i\).\(Igor\)不喜欢\(0\)所以数中不会出......
  • 打卡4
    11月2日:今天学习了UML建模语言课程,然后我们又进行了一场激烈的足球比赛,最终我们也是笑到了最后,下午我们学习了数据结构与算法,学习四种创立网、有向与无向图的方法,其中着重学习了邻接矩阵以及邻接表的方法,最后还学习了图的深度遍历,然后我们上了离散数学,今天我们开始学习离散数学当......
  • 打卡
    10月30日:今天上午学习了自行车拆卸与组装技术,在老师为我们讲述了自行车的零部件构造以及如何拆装、还有一些失败示例后,我们就开始我们的工作了,最终在我们小组每个人的不懈努力之,我们成功完成了这项任务,下午我们进行了为期三个小时的考试,最终的得分不容乐观,让我知道自己的知识是不......
  • 11月3每日打卡
    .NET实验:编写一个控制台应用程序,输入三角形或者长方形边长,计算其周长和面积并输出。编写一个控制台应用程序,可根据输入的月份判断所在季节。编写程序,用while循环语句实现下列功能:有一篮鸡蛋,不止一个,有人两个两个数,多余一个,三个三个数,多余一个,再四个四个地数,也多余一个,请问这......
  • 11.3
    本次实现前端代码add.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>新增生产计划</title><style>body{font-family:Arial,sans-serif;}......
  • 11-2打卡
    今天学习了prim算法最小生成树#include<iostream>#defineMAX1000000usingnamespacestd;structgraph{ char*vex; intvexnum; int**arc;};structEdge{ charvex; intweight;};//若edge[i]为0则代表已加入u集合(最小生成树集合)Edge*initedge(graph*g,......