[leecode summary] Binary seacrh

二分法的题,题目一般是在一个有序或者有序打乱的array里找一个target,或者在array里找一个数。

这种题型的解题方式可以提炼出来一个套路,如下:

int low = 0 ;
int high = num.length-1 ;
int mid = 0 ;

while(low<high)
{
mid=(low+high)/2;

if(num[mid]==target)
if(num[mid]<num[mid+1])
low=mid+1;
else
high=mid;
}
return low;

主要在while的条件 以及num[mid]的判断地方 以及返回的地方有一些改变。总的套路就是这个。时间复杂度为O(logn)。

时间: 2025-01-31 19:11:16

[leecode summary] Binary seacrh的相关文章

Summary: Binary Search

Iterative ways: 1 int binarySearch (int[] a, int x) { 2 int low = 0; 3 int high = a.length - 1; 4 int mid; 5 6 while (low <= high) { 7 mid = (low + high) / 2; 8 if (a[mid] < x) { 9 low = mid + 1; 10 } 11 else if (a[mid] > x) { 12 high = mid - 1;

C# 序列化与反序列化Serialization之Json Xml Binary Soap JavaScript序列化

所谓的序列化其实就是把一个内存中的对象信息转化成一个可以持久化保存的形式,方便保存数据库和文件或着用于传输, 序列化的主要作用是不同平台之间进行通信与信息的传递保存等,常用的有序列化有Json Xml Binary Soap JavaScript序列化等,当然我们也可以使用第三方的序列化类库,第三方的序列化类库可以参照网上的,这里不再赘述, 本文主要介绍Json Xml Binary Soap JavaScript等6种序列化的方法, 添加引用以下类库 using System.Runtime.

枚举\位域\结构综合实验

1.枚举项和数值,字符串如何互相转换?2.结构和byte[]数组间如何互相转换? 这在通讯上普遍使用!3.位域在工控上DIO控制普遍使用,如何借鉴.OK,上代码! using System; using System.Runtime.InteropServices; //http://www.cnblogs.com/pato/archive/2011/08/15/2139705.html //https://msdn.microsoft.com/zh-cn/library/asx0thw2%28

解决一个报表EdmFunction报错问题

    最近测试组提了一个bug,说是某个报表点击查询报错,查看错误log,错误信息如下. 类型"Ticket.Data.SqlFuns"上指定的方法"Boolean ContainsAll(System.String, System.String)"无法转换为 LINQ to Entities 存储表达式. 定位到错误行,发现是一个自定义的SQLCLR函数,如下代码. 为什么使用CLR函数ContainsAll报错 理论上CLR函数可以用在lambda表达式中,但

轻量级表达式树解析框架Faller

有话说 之前我写了3篇关于表达式树解析的文章 干货!表达式树解析"框架"(1) 干货!表达式树解析"框架"(2) 干货!表达式树解析"框架"(3) 这3篇文章更多的是说明一种方法,一种思路,而代码比较少 在发出来之后也有些朋友互加了好友一起讨论 在经过一些时间的修改和优化后,就有了现在这个框架 目前这个框架实现了SqlServer和Oracle的解释 其他数据库1来是不熟2来没时间3来我更希望大家可以使用这个框架自己动手实现一个数据库的解析,非常

[转]Porting to Oracle with Entity Framework NLog

本文转自:http://izzydev.net/.net/oracle/entityframework/2017/02/01/Porting-to-Oracle-with-Entity-Framework.html We had to port our giant-_ish_, Entity Framework based application to work on Oracle RDBMS (11g, later 12c). We did it. And we learned a lot.

C#注册表操作类--完整优化版

using System; using System.Collections.Generic; using System.Text; using Microsoft.Win32; namespace Register { public class RegisterHelper { /// <summary> /// 注册表基项静态域 /// /// 主要包括: ///1.Registry.ClassesRoot 对应于 HKEY_CLASSES_ROOT 主键 ///2.Registry.Cu

关于SocialExplorer.IO.FastDBF库读写ArcGis dbf文件的两个小bug

该库托管于GitHub,地址:https://github.com/SocialExplorer/FastDBF 贡献者应该都是老外,所以 1.分析文件头字段部分时,如果字段名有中文命名会出错 在DbfHeader类的Read(BinaryReader reader)方法 //char[] buffer = new char[11]; //buffer = reader.ReadChars(11); //string sFieldName = new string(buffer); //yang

leecode Binary Tree Level Order Traversal II java

做完这道题,只能说基本功很重要,数组中套数组就不会用了,过几天吧1做了,看自己到底等没. https://oj.leetcode.com/problems/binary-tree-level-order-traversal-ii/ import java.util.*; /** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNod