当前位置:网站首页>Rehabilitation type force deduction brush question notes D1
Rehabilitation type force deduction brush question notes D1
2022-07-05 06:34:00 【Silent moon cold moon】
Catalog
Code section
topic 1
The difficulty is simple 13081 Switch to English to receive dynamic feedback
Given an array of integers
nums
And an integer target valuetarget
, Please find... In the array And is the target valuetarget
the Two Integers , And return their array subscripts .You can assume that each input corresponds to only one answer . however , The same element in the array cannot be repeated in the answer .
You can return the answers in any order .
Self solution :
class Solution {
public int[] twoSum(int[] nums, int target) {
for(int i = 0 ;i < nums.length ; i++)
{
int flag;
flag = target - nums[i];
for(int j = i+1 ;j < nums.length ; j++)
{
if(nums[j] == flag) return new int[] {i,j};
else continue;
}
}
return null;
}
}
Double cycle , Time complexity . Bubble like thinking .
topic 2
Medium difficulty 7312 Switch to English to receive dynamic feedback
Here are two for you Non empty The linked list of , Represents two nonnegative integers . Each of them is based on The reverse Stored in , And each node can only store a Numbers .
Please add up the two numbers , And returns a linked list representing sum in the same form .
You can assume that in addition to the numbers 0 outside , Neither of these numbers 0 start .
Self solution :
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
ListNode root = new ListNode();
ListNode result = root;
int andre , catchre = 0 , nextre = 0;
while(l1 != null || l2 != null || catchre == 1)
{
int l1val = (l1 != null)? l1.val:0;
int l2val = (l2 != null)? l2.val:0;
if(l1 ==null && l2 != null)
{
andre = l2val + catchre;
nextre = andre + (-10)*((andre >= 10)?1:0);
catchre = ((andre >= 10)?1:0);
}
else if(l2 ==null && l1 != null)
{
andre = l1val + catchre;
nextre = andre + (-10)*((andre >= 10)?1:0);
catchre = ((andre >= 10)?1:0);
}
else if(l1 == null &&l2 == null && catchre == 1)
{
andre = catchre;
nextre = andre + (-10)*((andre >= 10)?1:0);
catchre = ((andre >= 10)?1:0);
}
else
{
andre = l1val + l2val + catchre;
nextre = andre + (-10)*((andre >= 10)?1:0);
catchre = ((andre >= 10)?1:0);
}
ListNode Next = new ListNode (nextre);
result.next = Next;
result = Next;
if(l1 != null) l1 = l1.next;
if(l2 != null) l2 = l2.next;
}
return root.next;
}
}
Use unit adder thinking . Set up andre Direct addition result ,catchre Carry mark ( The carry flag bit is cf, Should be carry flag, I remember wrong ),nextre The value left after processing .
The core code snippet is as follows , That is, the processing of addition results and the generation of carry flag bits .
andre = l1val + l2val + catchre;
nextre = andre + (-10)*((andre >= 10)?1:0);
catchre = ((andre >= 10)?1:0);
topic 3
3. Longest substring without repeating characters
Medium difficulty 6697 Switch to English to receive dynamic feedback
Given a string
s
, Please find out that there are no duplicate characters in it Longest substrings The length of .
Learn from the code of the great God , A lot of comments are added :
class Solution {
public int lengthOfLongestSubstring(String s) {
int [] last =new int[128]; // Where the character last appeared
for(int i = 0 ; i < 128 ; i++)
{
last[i] = -1; // initialization
}
int res = 0; // Output value
int start = 0; // Starting position
char [] S = s.toCharArray(); //string Turn array
for(int i = 0; i < s.length() ; i++) // Is a loop over the original string
{
int index = S[i]; // Take out the character to be positioned
start = Math.max (start , last[index] + 1);
//start The value is current. start Value and the last occurrence position of the character plus one to get the maximum value
res = Math.max (res , i - start + 1);
//res The value is current. res The value of the space between the value and the character is the maximum
last[index] = i; // Character last The value is updated to the current character position
}
return res;
}
}
According to the original code comments , Using the idea of window . It can be understood that there is a box always in the search position , When a duplicate character appears, the box is updated to the next digit after the current character .
java Small knowledge part
topic 1
Take the array length method : Array .length.
topic 2
To operate on a linked list, you need to first operate on an original linked list (root) Define and allocate memory , Then define a linked list to be operated (result), Finally, return to the original linked list (root).
ListNode root = new ListNode();
ListNode result = root;
return root.next;
The linked list operation needs to generate new nodes , Then link to the existing list . Then let the pointer of the linked list climb backward .
ListNode Next = new ListNode (nextre);
result.next = Next;
result = Next;
boolean Type numbers cannot participate in operations , Need to use “(andre >= 10)?1:0” The method is transformed into 1 or 0, Here 1、0 It can also be replaced with other numbers .
Carry out linked list node = List nodes .next when , First judge whether it is empty , namely “if( node != null) node = node .next;”.
topic 3
String turn char Array :
char [] S = s.toCharArray();
Take the maximum function :Math.max.
边栏推荐
- [BMZCTF-pwn] ectf-2014 seddit
- 2021apmcm post game Summary - edge detection
- Leetcode backtracking method
- 博弈论 AcWing 894. 拆分-Nim游戏
- The route of wechat applet jumps again without triggering onload
- 'mongoexport 'is not an internal or external command, nor is it a runnable program or batch file.
- International Open Source firmware Foundation (osff) organization
- MPLS experiment
- Gaussian elimination acwing 884 Gauss elimination for solving XOR linear equations
- Day 2 document
猜你喜欢
栈 AcWing 3302. 表达式求值
NVM Downloading npm version 6.7.0... Error
NotImplementedError: Cannot convert a symbolic Tensor (yolo_boxes_0/meshgrid/Size_1:0) to a numpy ar
The “mode“ argument must be integer. Received an instance of Object
什么是套接字?Socket基本介绍
Game theory acwing 891 Nim games
Vscode configures the typera editor for MD
Adg5412fbruz-rl7 applies dual power analog switch and multiplexer IC
数据库Mysql全部
Single chip computer engineering experience - layered idea
随机推荐
区间问题 AcWing 906. 区间分组
2.Oracle-数据文件的添加及管理
Getting started with typescript
'mongoexport 'is not an internal or external command, nor is it a runnable program or batch file.
2048项目实现
阿里巴巴成立企业数智服务公司“瓴羊”,聚焦企业数字化增长
Day 2 document
Genesis builds a new generation of credit system
Record of problems in ollvm compilation
4.Oracle-重做日志文件管理
VLAN experiment
Nested method, calculation attribute is not applicable, use methods
Huawei bracelet, how to add medicine reminder?
微信小程序路由再次跳轉不觸發onload
在新线程中使用Handler
[2021]IBRNet: Learning Multi-View Image-Based Rendering Qianqian
H5内嵌App适配暗黑模式
7. Oracle table structure
数据库Mysql全部
Install opencv -- CONDA to establish a virtual environment and add the kernel of this environment in jupyter