2023年4月8日leetcode练习心得

Posted qjwxlj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2023年4月8日leetcode练习心得相关的知识,希望对你有一定的参考价值。

给你一个整数数组 nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。

你必须设计并实现线性时间复杂度的算法且仅使用常量额外空间来解决此问题。

 

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/single-number-iii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

此题与昨天两个题目都有所不同,数组中有两个只出现一次的数字,便不能在用之前与的方法,或计算各个特殊比特位的方法了,但是可以换一种思路,先找出两个只出现一次的数字相互异或的结果,之后用这个结果依次

&(1<<i),i>0&&i<32.这个i作为两个数相异的标志可以把数组分为两组,每组分别有一个只出现一次的数,之后再用两个数分别异或两组数,最后得到两个只出现一次的数.

数组中的数字按位与(1<<i)为一的分为第一组,为零的第二组,每组中有一个只

                                                                                                                                                                出现一次的数字,再用num1,num2异或每组所有的数,得到两个只出现一次的数

两次循环分别得到所有数字异或的结果和分离两个数字的标志i.

 

linux运维实战练习-2016年1月19日-2月3日课程作业

I.作业(练习)内容:

  1、描述centos6系统开机启动流程;

    a.开机BIOS加电自检测各种硬件信息

    b.读取第一个可启动设备MBR,加载grub

    c.依据boot loader的设置初始化内核信息,内核依据initrd虚拟的磁盘和文件系统实现对根文件系统的挂载

    d.切换到根文件系统,

    e.启动系统第一个进程init,准备好系统所需要的各项服务

    f.登录界面



   2、描述/etc/rc.d/sysinit脚本功能;

     通过分析代码查看sysinit所具有的功能有:

    a.取得网络环境与主机名

    b.激活udev和selinux

    c.挂载/etc/fstab文件中定义的文件系统

    d.去检测根文件系统,并以读写方式重装挂载根文件系统

    e.设置系统时钟;

    f.激活swap设备

    g.根据/etc/sysctl.conf文件设置内核参数

    h.激活lvm及软raid设备

    i.加载额外设备的驱动程序

    j.清理操作


   3、总结文本处理工具sed及awk的用法;(必须附带示例)     

sed

//:表达式定址

n:默认不输出

p:打印

示例:

#打印包含TEM的行

sed -ne ‘/TEM/p‘ gc.txt

H:追加到保持空间

D:多行删除

$:最后一行

!:取反

g:从保持空间覆盖模式空间

s:/被替换/替换/

示例:

#删除所有换行符

sed ‘H;$!D;g;s/\n//g‘


awk

awk ‘/正则表达式/{过程}‘ 输入文件

$0 整行  $1 第一个字段  $NF  最后1个字段

以下是mysql数据库一段线上代码

slave_stat=($($slave_tool -e "show slave status\G"|grep Running |awk ‘{print $2}‘))



   4、写一个脚本,生成10个随机数,并按从小到大进行排序(要求至少使用2中方法);

      for i in `seq 1 10`;do echo $RANDOM ;done | sort -n


   5、在每周二的凌晨1点5分执行脚本/data/get_username.sh,并将脚本的输出至/tmp/get_username.log日志文件中;


/usr/bin/mysqldump -uclient -p**************** jzjz  > /data/mysqlbak/`date +%Y%m%d`.sql

if [ $? -eq 0 ];then

        echo "backup ok" >> /tmp/log/mysqlbak.log

else

        echo "backup error" >> /tmp/log/mysqlbak.log

fi


cortab -e

0 2 * * *  /data/mysqlbak/backup_mysql.sh


   6、写一个脚本:如果某路径不存在,则将其创建为目录;否则显示其存在,并显示内容类型;


    #!/bin/bash 

    # 

    if [ -z $1 ];then 

       echo "Usage:$0 <path>" 

       exit 1 

   fi 

   if [ ! -d $1 ];then 

      mkdir -p $1 

   else 

      echo "$1 is exists." 

      file $1 

   fi



   7、写一个脚本,打印9X9乘法表;

     #!/bin/bash

     for i in 1 2 3 4 5 6 7 8 9 ;do

             for j in 1 2 3 4 5 6 7 8 9 ;do

                     printf "%2d " $((i*j))

             done

             echo

    done


   8、描述dns的工作流程,以及完整搭建一套dns主从服务器,相关域名和ip可自行设定。


以上是关于2023年4月8日leetcode练习心得的主要内容,如果未能解决你的问题,请参考以下文章

2023年节日调休日历表

2023年3月27日

2023年4月刷题记录

Windows Anaconda YOLOv3环境部署--2023年1月8日

Windows Anaconda YOLOv3环境部署--2023年1月8日

2023年4月14日(软件工程日报)