21 5 月 2020

leetcode第二题解法1

题目:https://leetcode.com/problems/add-two-numbers/

两个单链表相加,输出一个单链表

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:
    def backNode(self,node:ListNode)->int:
        back =0
        if node is None:
            return back
        cur = node
        cnt=-1
        while cur is not None:
            cnt+=1
            back+=cur.val*(10**cnt)
            cur = cur.next
        return back
    
    def genNode(self,l1:list)->ListNode:
        
        head = ListNode(l1[0])
        p=head
        
        for i in range(1,len(l1)):
            
            p.next=ListNode(l1[i])
            p=p.next
        return head
            
            
    
    def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
        print (self.backNode(l1))
        print (self.backNode(l2))
        sum=self.backNode(l1)+self.backNode(l2)
        list1=[int(x) for x in str(sum)]
        print (list1[::-1])
        list2=list1[::-1]
        
        
        return self.genNode(list2)
10 4 月 2020

windows恢复u盘启动器的分区

之前玩各种固件,所以刷了很多u盘启动器,现在想恢复还得折腾下,下面记录个比较简单的方式。

1.打开cmd

2.输入 diskpart #进入磁盘管理工具

3.继续输入 lis dis #查看当前磁盘分区

4.输入 sel dis 1 #选择要恢复的磁盘

5.输入 clean #清除磁盘

6.输入 create partition primary #新建主分区

7.直接在我的电脑里格式化就可以正常使用了

09 4 月 2020

MAC快速制作u盘启动器

适合将iso或者img镜像写入到u盘等介质中。

1.diskutil list #查看当前磁盘分区

2.diskutil unmountDisk /dev/disk2 #卸载要写的介质

3.sudo dd if=lubuntu-16.04.dmg of=/dev/rdisk2 bs=4m #快速写入镜像

4.iostat -w 2 #新开一个终端,查看第3步的镜像写入进度

5.diskutil eject /dev/disk2 #弹出介质

08 4 月 2020

n1从openwrt刷回电视yyf固件

家里多了个n1里面之前是openwrt,想刷回电视固件,后面送朋友。所以遇到了一些奇怪问题。不管什么线刷方式,电脑都不能识别n1盒子的驱动。

后面参考了一些资料,发现了一个比较靠谱的方法。

一.先通过u盘写入armbian系统(Armbian5.77固件),再写进emmc。

二.拔去u盘格式化armbian系统的boot分区

1.登录linux 系统,执行df 命令,查看boot分区名,找到/dev/boot/ 对应的最左边显示的挂载名。
我的是/dev/mmcblk1p1  

2、取消挂载boot分区   输入命令  umount /dev/mmcblk1p1     回车。如果有提示,直接回答y回车
3、格式化boot分区    输入命令 mkfs.ext4 /dev/mmcblk1p1 回车 
4、输入reboot重启盒子。

三.再usb双公头连接电脑,加电线线刷

刷机注意事项:加载镜像后,一定要取消勾选“擦除bootloader”选项,打勾“擦除flash”,否则必砖。

重启后应该卡在“新一代家庭云”或者“豹头S905D”商标界面,这时候可以启动USB_Burning_Tool工具,加载镜像,点击启动,插上双公头USB线,和电脑相连。最后一步通电,成功识别并刷机。

07 4 月 2020

以n1的openwrt为例设置aria2插件

aria2是个非常好用的插件,主要用来进行多线程下载,支持bt与常见的http、ftp协议。下面记录下一些必要的配置:

1.设置bt下载的端口并打开防火墙。

比如n1的aria2插件bit设置页面里的BitTorrent 监听端口修改为与其他软件不冲突的。

再在防火墙的流量规则里添加该端口tcp与udp开放。

2.设置bt的通告服务器,让自己的bt节点通知给尽可能多的服务器。

比如n1的aria2插件bit设置页面里的附加 Bt tracker 列表添加服务器列表。

建议将此页面中的都加入进行。

https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_best.txt

3.尽可能先下载一些热门的种子,这样有利于将自己连接到一些比较活跃的节点上。然后再下载自己想要的资源,一般效果会更好。

06 4 月 2020

Cloudflare 新的 dns 可封锁恶意软件或封锁成 x 网站

只封锁恶意软件

主 DNS 伺服器:1.1.1.2

次 DNS 伺服器:1.0.0.2

IPv6:2606:4700:4700::1112

IPv6: 2606:4700:4700::1002X

封锁恶意软件+封锁成 x 网站

主 DNS 伺服器:1.1.1.3

次 DNS 伺服器:1.0.0.3

IPv6:2606:4700:4700::1113

IPv6: 2606:4700:4700::1003

06 4 月 2020

优酷路由宝内置tf卡分区设置

家里有两个很久一起撸的优酷路由宝L1,最近想用起来,毕竟带一个usb口与tf卡。但是刷了老毛子固件更新插件会报错,原来是内存tf卡默认分区是七个,而老毛子固件默认只把插件写进第一个分区,所以空间不足会无法用插件。因此需要操作下分区,后面发现新的老毛子固件已经不能直接修改分区了。以下是我的步骤:

1.必须先刷一个潘多拉固件

2.再ssh连接后设置

fdisk -l  查看分区状况
fdisk /dev/mmcblk0
然后再输入 d,删除分区
总共删除4次
然后再输入n  新建分区
选p,然后按1,然后输入p显示分区列表,最后按w,保存分区表。

然后umount /dev/mmcblk0p1
再执行 mkfs.ext4 /dev/mmcblk0p1

05 4 月 2020

路由器屏蔽苹果ios OTA更新

家里有七八台苹果ios设备,而且很多都是老手机,这些老手机性能已经跟不上新版本的更新了。所以就做了路由层面的苹果ios更新的屏蔽。

以openwrt系列路由器为例:

#进入ssh界面,编辑host文件:

vi /etc/hosts

#添加以下记录,将苹果更新版本的ip地址全部指向本地。

#IOS OTA

127.0.0.1 mesu.apple.com
127.0.0.1 appldnld.apple.com
127.0.0.1 xp.apple.com
127.0.0.1 gdmf.apple.com
127.0.0.1 ipsw.me
127.0.0.1 updates-http.cdn-apple.com