21 5月 2020

leetcode第三题

原题https://leetcode.com/problems/longest-substring-without-repeating-characters/submissions/

经典题 最长子窜长度

class Solution:
    def lengthOfLongestSubstring(self, s: str) -> int:
        if s=="":
            return 0
        
        max1 = 1
        for i in range(0,len(s)-1):
            b=[]
            b.append(s[i])
            for j in range(i+1,len(s)) :
            
                if s[j] not in b:
                    b.append(s[j])
                else:
                    max1=(len(b) if len(b)>max1 else max1)#遇到重复立马打断循环 计数
                    break
                #print(b)
            max1=(len(b) if len(b)>max1 else max1)#没有遇到任何重复 计数
            
        
        
        return max1
        
        
21 5月 2020

leetcode第一题解法1

原题https://leetcode.com/problems/two-sum/submissions/

题目内容 寻找列表两个数之和为指定数字的位置

 

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        b=[]
        for i,val in enumerate(nums):
            tmp=nums[i+1:]
            if (target-val) in tmp:
                b.append(i)
                b.append(i+1+tmp.index(target-val))
        return b
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线,和电脑相连。最后一步通电,成功识别并刷机。